【发布时间】:2022-01-24 04:33:30
【问题描述】:
我有一个包含超过 300 万行的数据框。我正在尝试对 Bar_Code 列中的值进行分组,并仅提取 SOH、Cost 和 Sold_Date 中所有行的总和为零的行。
我的数据框如下:
Location Bar_Code SOH Cost Sold_Date
1 00000003589823 0 0.00 NULL
2 00000003589823 0 0.00 NULL
3 00000003589823 0 0.00 NULL
1 0000000151818 -102 0.00 NULL
2 0000000151818 0 8.00 NULL
3 0000000151818 0 0.00 2020-10-06T16:35:25.000
1 0000131604108 0 0.00 NULL
2 0000131604108 0 0.00 NULL
3 0000131604108 0 0.00 NULL
1 0000141073505 -53 3.00 2020-10-06T16:35:25.000
2 0000141073505 0 0.00 NULL
3 0000141073505 -20 20.00 2020-09-25T10:11:30.000
我试过下面的代码:
df.groupby(['Bar_Code','SOH','Cost','Sold_Date']).sum()
但我得到以下输出:
Bar_Code SOH Cost Sold_Date
0000000151818 -102.0 0.0000 2021-12-13T10:01:59.000
0.0 8.0000 2020-10-06T16:35:25.000
0000131604108 0.0 0.0000 NULL
0000141073505 -53.0 0.0000 2021-11-28T16:57:59.000
3.0000 2021-12-05T11:23:02.000
0.0 0.0000 2020-04-14T08:02:45.000
0000161604109 -8.0 4.1000 2020-09-25T10:11:30.000
00000003589823 0 0.00 NULL
我需要检查是否可以获得以下所需的输出以仅获取 SOH、Cost 和 Sold_Date 之和为 0 或 NULL 的特定行,代码忽略第一列(位置)是安全的:
Bar_Code SOH Cost Sold_Date
00000003589823 0 0.00 NULL
0000131604108 0.0 0.0000 NULL
【问题讨论】:
标签: python-3.x pandas dataframe