首页 > 解决方案 > 将列表分配给 pandas 数据框元素

问题描述

我想在数据框中添加一列,并为其每个元素设置一个列表,执行以下代码后,没有任何变化,

df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]})  
df['C'] = 0 
for i in range(len(df)):
    lst = [6,7,8]
    data.iloc[i]['C'] = []
    data.iloc[i]['C'] = lst

另外,基于Assigning a list value to pandas dataframe ,我在上面的代码上尝试了 df.at[i,'C'] ,并出现以下错误:'setting an array element with a sequence.'

标签: pythonpandasdataframe

解决方案


你可以np.tile使用np.ndarray.tolist

l = len(df)
df['C'] = np.tile([6,7,8],(l,1)).tolist()
df
   A  B          C
0  1  4  [6, 7, 8]
1  2  5  [6, 7, 8]
2  3  6  [6, 7, 8]

推荐阅读