如何在Pandas中将字符串列表添加为DataFrame的新列?
把列表作为新列添加到Pandas DataFrame的方法
1. 直接赋值法(修改原DataFrame,最常用)
直接给DataFrame的新列名赋值对应列表即可,操作最简单:
import pandas as pd # 示例原始数据 df = pd.DataFrame({ 'a': [3,3,3], 'b': [3,3,3] }) a = ['foo', 'bar', 'foo2'] # 直接赋值新增列,列名设为new_column df['new_column'] = a
执行后原DataFrame就会新增目标列,和你预期的输出效果完全一致。
2. assign方法(不修改原DataFrame,生成新对象)
如果你需要保留原始DataFrame不变,生成一个新增了列的新DataFrame,可以用assign方法:
new_df = df.assign(new_column = a)
运行后原df不会有任何改动,new_df是增加了新列的结果。
注意事项
- 要保证添加的列表长度和DataFrame的行数完全一致,否则会触发长度不匹配的报错。如果二者长度不一致,需要先做对齐处理再添加列。
内容的提问来源于stack exchange,提问作者Jay
相关产品推荐
相关产品推荐

