我有一个像这样的框架:
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都在里面.所以我不知道该怎么办.