看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)行政部拿到 5 条差旅报销原始数据:
import pandas as pd
df = pd.DataFrame({
"姓名": ["张三", "李四", "王五", "赵六", "孙七"],
"交通费": [120, 85, 300, 95, 76],
"住宿费": [400, 320, 500, 200, 180]
})
任务:
用 一行链式 assign()
完成以下操作:
总额 = 交通费 + 住宿费
补贴 = 总额 * 0.1
(向下取整)代码如下:
result = df.assign(
总额=df.交通费 + df.住宿费,
补贴=lambda x: (x.总额 * 0.1).astype(int)
)
print(result)
输出示例:
姓名 交通费 住宿费 总额 补贴
0 张三 120 400 520 52
1 李四 85 320 405 40
2 王五 300 500 800 80
3 赵六 95 200 295 29
4 孙七 76 180 256 25
(完)
更新时间:2025-08-21 16:08:12 标签:pandas python 新增 多列