我确信使用 pandas 有一个很好的方法来做到这一点,但我一直在原地踏步。
我想对具有相同 ID 号的列中的值求和。
示例 df:
ID_number Billed Paid Balance
A100 300 20 280
A100 1000 1000 0
B9B6 1200 0 1200
B9B6 200 40 160
我在输出中寻找什么:
ID_number Billed Paid Balance
A100 1300 1020 280
B9B6 1400 40 1360
一直给我带来麻烦的警告是,身份证号码同时包含字母和数字。
我尝试将数据帧分成两部分,并将 Billed、Paid 和 Balance 列更改为 int 值,以便可以对它们进行求和,但我需要按索引号对它们进行分组,以便将它们求和在一起。无论我如何对数据帧进行切片和切块,当我再次将它们连接在一起时,它都会以“对象”类型返回,并且我的对象编号会像字符串一样被粉碎在一起,而不是像 int 值那样添加在一起。
我还尝试更改单个列的数据类型,但我无法使其工作,因为某些数字按小数计算相当长,并且返回了此错误:ValueError: invalid literal for int() with base 10:
我一直在尝试使用该df.groupby(['ID_number'].agg('sum')函数进行聚合。
有谁知道如何做到这一点?
拉风的咖菲猫
Smart猫小萌
回首忆惘然
相关分类