看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)按重量算运费,超重每公斤加 3 元。有3 个包裹,只有重量:
import pandas as pd
df = pd.DataFrame({"包裹号": ["P1", "P2", "P3"],
"重量_kg": [0.5, 1.2, 0.8]})
用 一行 apply(..., axis=1)
+ lambda 新增列 总费用
: 基础 8 元,超出 1 kg 部分每公斤加 3 元。
df['总费用'] = df.apply(lambda r: 8 + max(0, r['重量_kg'] - 1) * 3,
axis=1)
print(df)
输出:
包裹号 重量_kg 总费用
0 P1 0.5 8.0
1 P2 1.2 8.6
2 P3 0.8 8.0
(完)
更新时间:2025-08-25 18:59:38 标签:pandas python apply 函数 lambda