案例 11: 添加新列 - 使用 assign
方法
知识点讲解
在 Pandas 中,assign
方法是添加新列到 DataFrame 的一种高效方式。这个方法可以使你在不改变原始 DataFrame 的基础上,添加一列或多列。assign
方法特别适用于链式调用,使得数据处理步骤更加清晰和简洁。
示例代码
# 准备数据和示例代码的运行结果,用于案例 11# 示例数据
data = {'Month': ['Jan', 'Feb', 'Mar', 'Apr'],'Sales': [200, 240, 310, 400],'Expenses': [150, 180, 200, 250]
}
df = pd.DataFrame(data)# 使用 assign 方法添加新列
df_with_margin = df.assign(Margin=lambda x: x['Sales'] - x['Expenses'])df_with_margin
在这个示例中,我们有一个包含月份、销售额和支出的 DataFrame。我们使用 assign
方法添加了一个新列 Margin
,它是通过计算 Sales
和 Expenses
的差值得到的。这里,lambda
函数应用于整个 DataFrame,并对每一行进行计算。
示例代码运行结果
Month Sales Expenses Margin
0 Jan 200 150 50
1 Feb 240 180 60
2 Mar 310 200 110
3 Apr 400 250 150
这个结果显示了添加的新列 Margin
,它表示每个月的净收益。assign
方法的优势在于其简洁性和能够保持原始 DataFrame 不变。