📅  最后修改于: 2023-12-03 15:33:24.752000             🧑  作者: Mango
在数据分析中, 经常需要在已有数据DataFrame中添加新的列. Pandas提供了多种方式实现这个目的.
DataFrame.assign()可以用来添加新的列, 也可以同时修改旧的列. 下面是一个简单的示例:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
print(df)
df = df.assign(C=[7, 8, 9], B=[10, 11, 12])
print(df)
输出结果如下:
A B
0 1 4
1 2 5
2 3 6
A B C
0 1 10 7
1 2 11 8
2 3 12 9
在上面的示例中, 我们首先创建了一个DataFrame, 然后使用assign()函数添加了一列C和修改了原有的列B.
DataFrame.insert()可以指定插入的位置添加新的列. 示例代码如下:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
print(df)
df.insert(1, 'C', [7, 8, 9])
print(df)
输出结果如下:
A B
0 1 4
1 2 5
2 3 6
A C B
0 1 7 4
1 2 8 5
2 3 9 6
在上面的示例中, 我们在第1列插入了新的列C.
我们也可以直接给DataFrame添加一个新列, 示例如下:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
print(df)
df['C'] = [7, 8, 9]
print(df)
输出结果如下:
A B
0 1 4
1 2 5
2 3 6
A B C
0 1 4 7
1 2 5 8
2 3 6 9
在上面的示例中, 我们直接给DataFrame添加了一列C.
通过上面的示例代码, 我们学习了三种添加列的方法: DataFrame.assign(), DataFrame.insert()和直接赋值. 它们各自有着自己的特点和用途, 在实际使用时需要根据具体情况进行选择.