我有以下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中的颜色相同。
请帮助。
答案 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']