我有一个像这样的框架:

       solution_id   0   1   2   3
0            26688 NaN NaN NaN NaN
1            26689 NaN NaN NaN NaN
2            26690 NaN NaN NaN NaN
3            26691 NaN NaN NaN NaN
4            26692 NaN NaN NaN NaN
...            ...  ..  ..  ..  ..
10398        37086 NaN NaN NaN NaN
10399        37087 NaN NaN NaN NaN
10400        37088 NaN NaN NaN NaN
10401        37089 NaN NaN NaN NaN
10402        37090 NaN NaN NaN NaN

[10403 rows x 5 columns]

我将收到一个solution_id和一个包含4个值的列表(假设为[True,False,True]). 我需要做的是用对应的solution_id来标识行,并用list替换下面的列(0,1,2,3).

我试着使用类似的东西:

filter_ = (df['solution_id'] == solution_id)
df.loc[filter_] = [solution_id] + results

甚至:

idx = df['solution_id'].loc[df['solution_id'] == solution_id].index[0]
df.loc[idx] = [solution_id] + results

但两者都不起作用,我不知道为什么.第一个运行,但不注册任何东西,第二个说索引为空,所以我假设它没有找到任何过滤器. 问题是,我确定每个solution_id都在里面.所以我不知道该怎么办.

推荐答案

大概Pandas update multiple columns at once个吧

list1 = [True, False, False, True]
solution_id = 26690
df.loc[df["solution_id"] == solution_id, [0,1,2,3]] = list1

Python相关问答推荐

将整组数组拆分为最小值与最大值之和的子数组

Matlab中是否有Python的f-字符串等效物

Pandas 有条件轮班操作

管道冻结和管道卸载

如何在类和classy-fastapi -fastapi- followup中使用FastAPI创建路由

如何使用它?

如何创建一个缓冲区周围的一行与manim?

实现自定义QWidgets作为QTimeEdit的弹出窗口

cv2.matchTemplate函数匹配失败

如何在Python中使用Pandas将R s Tukey s HSD表转换为相关矩阵''

搜索按钮不工作,Python tkinter

如何使用Azure Function将xlsb转换为xlsx?

Autocad使用pyautocad/comtypes将对象从一个图形复制到另一个图形

我什么时候应该使用帆布和标签?

如何关联来自两个Pandas DataFrame列的列表项?

如何将列表从a迭代到z-以抓取数据并将其转换为DataFrame?

在不中断格式的情况下在文件的特定部分插入XML标签

解析CSV文件以将详细信息添加到XML文件

当lambda函数作为参数传递时,pyo3执行

组颠倒大Pandas 数据帧