如何将列中的某些单元格设置为列表列表中的列表,其中列表列表的长度与单元格的数量相同?运行我尝试的部分时,出现以下错误:ValueError:使用 ndarray 设置时必须具有相等的 len 键和值我想要的 DataFrame,如下明确定义,desired如下所示: include array0 True [1, 2]1 False NaN2 False NaN3 True [3, 4]4 False NaN尝试过的代码:import pandas as pd# This is what I trieda = pd.DataFrame({'include': [True, False, False, True, False]})a.loc[a['include'], 'array'] = [[1, 2], [3, 4]]# This is what I wantdesired = pd.DataFrame({'include': [True, False, False, True, False], 'array': [[1, 2], np.nan, np.nan, [3, 4], np.nan]})
1 回答
杨__羊羊
TA贡献1943条经验 获得超7个赞
不太确定你想做什么,但你可以将其转换为 apandas.Series并对齐索引:
a.loc[a['include'], 'array'] = pd.Series([[1, 2], [3, 4]], index=[0, 3])
print(a)
include array
0 True [1, 2]
1 False NaN
2 False NaN
3 True [3, 4]
4 False NaN
要保持索引的分配通用而不是硬编码,请使用:
a.loc[a['include'], 'array'] = pd.Series([[1, 2], [3, 4]], a[a['include']].index)
添加回答
举报
0/150
提交
取消