如何基于 Pandas 数据帧中的其他数值字段创建新字段
若要基于 pandas 数据帧中的其他数值字段创建新字段,可以使用 pandas。DataFrame.assign() 方法。此方法允许您指定新的列名称和列的值,这些值可以从数据帧中的一个或多个现有列派生。
例如,假设您有一个包含列 A、B 和 C 的数据帧,并且您想要创建一个名为 D 的新列,该列等于列 A 和 B 的总和。您可以使用以下代码来执行此操作:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
df = df.assign(D = df['A'] + df['B'])
print(df)
此代码将在数据帧中创建一个新的列 D,并将列 A 和 B 中的值相加。生成的数据帧将如下所示:
A B C D
0 1 4 7 5
1 2 5 8 7
2 3 6 9 9
或者,您也可以使用熊猫。DataFrame.apply() 方法将自定义函数应用于数据帧的每一行,并根据该函数的输出创建新列。例如,以下代码将完成与上述代码相同的任务:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
def sum_columns(row):
return row['A'] + row['B']
df = df.assign(D = df.apply(sum_columns, axis=1))
print(df)
此代码还将在数据帧中创建一个新的列 D,并将列 A 和 B 中的值相加。生成的数据帧将与上面显示的数据帧相同。