📅  最后修改于: 2023-12-03 14:51:30.364000             🧑  作者: Mango
当我们处理数据时,常常需要根据已有的列计算出新的数据,并把它作为一列添加到数据集中。在火花中添加新列非常简单,本文将介绍两种常用的方法。
我们可以使用transform方法,从一个或多个列派生出新的一列。
import pandas as pd
# 创建一个数据集
df = pd.DataFrame({'A': ['a', 'b', 'c'], 'B': [1, 2, 3]})
# 使用transform方法添加新列
df['C'] = df.groupby('A')['B'].transform('sum')
使用transform方法时,首先需要对数据集进行分组,然后对分组后的每个组进行计算,并把计算结果作为新的一列添加到原数据集中。
我们还可以使用apply方法,自定义一个函数,将已有的列作为参数传递给函数,并把函数返回的值作为新的一列添加到数据集中。
import pandas as pd
# 创建一个数据集
df = pd.DataFrame({'A': ['a', 'b', 'c'], 'B': [1, 2, 3]})
# 自定义一个函数,用于计算新列的值
def calc_C(row):
return row['B'] * 2
# 使用apply方法添加新列
df['C'] = df.apply(calc_C, axis=1)
使用apply方法时,我们需要自己定义一个函数,该函数将已有的列作为一个行(row)传递给函数,并返回新的一列的值。
通过以上两种方法,我们可以在火花中轻松添加新列,从而更好地处理和分析数据。