向数据框添加列表

时间:2019-01-30 15:14:17

标签: python pandas

我有以下df:

A   B   C
1  NaN NaN 
2  NaN NaN
3  NaN NaN
4  NaN NaN

我想要这个:

A   B         C
1  'Blue'   'Purple'
2  'Yellow' 'Yellow'   
3  'Green'  'Orange'  
4  'Blue'   'Brown'

我试图做的事情:

df1.B = ['蓝色','黄色','绿色','蓝色']
df1.C = [“紫色”,“黄色”,“橙色”,“棕色”]

但是出现以下错误:
ValueError:值的长度与索引的长度不符

但是列表中的颜色与df中的颜色相同。

请帮助。

3 个答案:

答案 0 :(得分:0)

数据框中的一列是一个Series对象,因此您需要

 df['B'] = pd.Series( ['Blue', 'Yellow', 'Green', 'Blue'])

答案 1 :(得分:0)

您可以尝试使用:

df1 = df1.assign(B=pd.Series(['Blue', 'Yellow', 'Green', 'Blue']).values)

有关此帖子的更多信息: Adding new column to existing DataFrame in Python pandas

答案 2 :(得分:0)

如果您要分配给B和C列的列表的长度等于数据帧中的行数,那么您可以直接分配该列表,如下所示:

df['B'] = ['Blue', 'Yellow', 'Green', 'Blue']