python - Pandas Dataframe 逻辑循环
问题描述
df0 = df.filter(['ShipmentID', 'AccessorialCode', 'Cost'])
ShipmentID AccessorialCode Cost
0 141687945 LNH 68.65
2 141687945 LNH 7.05
3 141687951 LNH 331.13
5 141687951 LNH 20.97
7 141687951 LNH 7.05
8 141687955 LNH 67.45
9 141687955 LNH 31.75
11 141687955 LNH 47.26
13 141687955 LNH 6.91
14 141687964 LNH 203.13
15 141687964 LNH 229.07
18 141687964 LNH 8.94
19 141687969 LNH 1912.80
22 141687969 LNH 28.29
23 141687972 LNH 65.27
24 141687972 LNH 41.28
我的目标是编写一个逻辑循环,增加重复 ShipmentID 的成本,然后创建一个新的数据框来删除重复的附件。
df00= df0.loc[df0['AccessorialCode'] == 'LNH']
duplicates = df00[df00.duplicated(['ShipmentID'])]
# I then need to preform an operation to eliminate the duplicates and consolidate the cost
The desired output should look like this:
ShipmentID AccessorialCode Cost
0 141687945 LNH 75.7
2 141687951 LNH 395.15
3 141687955 LNH 153.37
解决方案
我认为 group by 将是您所需要的。
df0.groupby(['ShipmentID','AccessorialCode']).agg({'Cost':'sum'})
推荐阅读
- bash - 如何在 Linux 的新终端中启动新进程
- solr - 在 URL 中指定分片时,应该将分布式请求发送到哪个 SOLR 服务器?
- r - 如何将色阶值修改为更小的增量
- c# - 如何选择异步委托的返回类型
- r - R如何用多个if else条件向量化一个函数
- arrays - 如何组织列表列表以与 scipy.optimize fmin init 数组兼容
- javascript - 如何设置 React Modal 边框半径
- .net-core - .net core 3 jwt token 配置部署linux
- javascript - 在 VUE 模板中动态传递所有对象的键和值作为 HTML 属性
- python - Pylint 说:W0233:来自非直接基类“嵌套”的 __init__ 方法被调用(非父初始化调用)