如何用python的pandas根据目的地计算单价和挂号费并为新列赋值?
[单价]和[挂号费] 都有部分重量段重复
[包裹运费]等于 [目的地]的[单价/公斤]*[重量]+[目的地]的[挂号费/件]
如何用python的pandas根据目的地计算单价和挂号费并为新列赋值?
[单价]和[挂号费] 都有部分重量段重复
[包裹运费]等于 [目的地]的[单价/公斤]*[重量]+[目的地]的[挂号费/件]
手写的,只代表思路,具体你要根据列名、类型做微调
def getcity(c):
if (c == "广州"): return 1
if (c == "北京"): return 3
if (c == "西安"): return 5
def getprice(w, c, df):
df1 = df[df.重量段 < w][-1]
return df1[getcity(c)] * w + df1[getcity(c) + 1]
df2["包裹运费"]=df2.apply(lambda row:getprice(row["重量"], row["目的地"], df1),axis=1)