在Pandas DataFrame中基于现有的列创建一个新的列,可以通过多种方式实现,常见的方法包括:
下面分别介绍三种方法的详细步骤和实例说明。
apply函数可以对DataFrame的某一列进行遍历和操作,具体步骤如下:
实例:
假设有如下的DataFrame:
import pandas as pd
df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]})
print(df)
输出:
A B
0 1 4
1 2 5
2 3 6
现要在该DataFrame中添加一列C,其值为A列与B列之和,操作步骤如下:
def sumAB(row):
return row['A'] + row['B']
df['C'] = df.apply(sumAB, axis=1)
print(df)
输出:
A B C
0 1 4 5
1 2 5 7
2 3 6 9
assign函数可以在不修改原始DataFrame的情况下添加一个新列,具体步骤如下:
实例:
继续假设有如下的DataFrame:
import pandas as pd
df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]})
print(df)
输出:
A B
0 1 4
1 2 5
2 3 6
现要在该DataFrame中添加一列C,其值为A列与B列之和,操作步骤如下:
def sumAB(df):
return df['A'] + df['B']
df = df.assign(C=sumAB)
print(df)
输出:
A B C
0 1 4 5
1 2 5 7
2 3 6 9
可以直接通过索引向DataFrame中添加新列,具体步骤如下:
实例:
继续假设有如下的DataFrame:
import pandas as pd
df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]})
print(df)
输出:
A B
0 1 4
1 2 5
2 3 6
现要在该DataFrame中添加一列C,其值为A列与B列之和,操作步骤如下:
def sumAB(df):
return df['A'] + df['B']
df['C'] = sumAB(df)
print(df)
输出:
A B C
0 1 4 5
1 2 5 7
2 3 6 9
本文链接:http://task.lmcjl.com/news/14588.html