为我的措辞不准确表示歉意,我对Python和Pandas都是新手。
所以我目前有一个包含大约1,000个帐户及其相应余额的数据框架。但是,有些账户在数据中存在两次,一次是正常账号,一次是"AM1"最后。我如何创建一个新的/编辑现有的数据框架(任何一种方式都可以),以便900002和900002AM1的余额合并到900002的余额中,然后从df中删除90002AM1 ?谢谢你!我知道groupby会起作用(这就是我如何得到当前的DF),但显然我需要能够从所有帐号中删除'AM1',然后做:
df.groupby(['account#']).agg({'balance':'sum'}).resetindex)
当前DF:
<表类>账户# 平衡 tbody><<tr>900001 35.00 900002 25.00 900002 am1 25.00 900003 40.00 900004 20.00 900004 am1 10.00 表类>
从account#
列中提取数字:
>>> df.groupby(df['account#'].str.extract(r'(^d+)', expand=False))
.sum().reset_index()
account# balance
0 900001 35.0
1 900002 50.0
2 900003 40.0
3 900004 30.0
str.extract
做什么?
>>> df['account#'].str.extract(r'(^d+)', expand=False)
0 900001
1 900002
2 900002 # <- 900002AM1
3 900003
4 900004
5 900004 # <- 900004AM1
Name: account#, dtype: object