如何在pandas df列中分配列表值?

时间:2018-11-20 17:23:43

标签: python-3.x pandas list indexing

我想创建一个新的df列来保存列表值。

def add_list_values(row): # row parameter is needed but not in this sample code
    list_val = [1, 'OKOKOK', 2123]
    return list_val

df['new_col'] = df.apply(add_list_values, axis=1)

Error: ValueError: Shape of passed values is (91, 4), indices imply (91, 2)

当我通过简单地分配带有列表值的列进行测试时,我遇到了类似的错误。

df['new_col2'] = [1, 'OKOKOK', 2123]

ValueError: Length of values does not match length of index

1 个答案:

答案 0 :(得分:1)

如果我的理解正确,请尝试使用此方法代替出现错误的行:

df['c']=[[1, 'OKOKOK', 2123]]*len(df)
df
Out[148]: 
   a  b                  c
0  1  1  [1, OKOKOK, 2123]
1  3  4  [1, OKOKOK, 2123]
2  3  4  [1, OKOKOK, 2123]