weixin_46539169 2020-05-16 21:49 采纳率: 50%
浏览 191
已结题

如何用python的pandas根据目的地计算单价和挂号费并为新列赋值?

如何用python的pandas根据目的地计算单价和挂号费并为新列赋值?

[单价]和[挂号费] 都有部分重量段重复

[包裹运费]等于 [目的地]的[单价/公斤]*[重量]+[目的地]的[挂号费/件]

图片说明

图片说明

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-05-17 10:57
    关注

    手写的,只代表思路,具体你要根据列名、类型做微调

    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)
    
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable