我有一些数据框,我想添加新列,在这个新列中,每个元素应该是一个字符串,例如两行,
df
index colA colB
0 a a1
1 b b1
现在我可以添加新列
df['colC']=5
index colA colB colC
0 a a1 5
1 b b1 5
现在我想添加第三列,每个元素都作为列表
index colA colB colC
0 a a1 ['m','n','p']
1 b b1 ['m','n','p']
但是,
df['colC']=['m','n','p'] is giving error
ValueError: Length of values does not match length of index
这很明显。
I know in our example I can do
df['colC']=[['m','n','p'],['m','n','p']]
但是当我不知道行数时,我想将每个元素设置为相同的字符串列表。 任何人都可以建议一些容易实现的目标。
答案 0 :(得分:4)
向单元格添加object
(list
)非常棘手
df['colC']=[['m','n','p']]*len(df)
或者
df['colC'] = [list('mnp') for _ in range(len(df))]
df返回:
index colA colB colC
0 0 a a1 [m, n, p]
1 1 b b1 [m, n, p]