在Pandas中添加几乎重复的副本并删除旧副本



为我的措辞不准确表示歉意,我对Python和Pandas都是新手。

所以我目前有一个包含大约1,000个帐户及其相应余额的数据框架。但是,有些账户在数据中存在两次,一次是正常账号,一次是"AM1"最后。我如何创建一个新的/编辑现有的数据框架(任何一种方式都可以),以便900002和900002AM1的余额合并到900002的余额中,然后从df中删除90002AM1 ?谢谢你!我知道groupby会起作用(这就是我如何得到当前的DF),但显然我需要能够从所有帐号中删除'AM1',然后做:

df.groupby(['account#']).agg({'balance':'sum'}).resetindex)

当前DF:

<表类>账户#平衡tbody><<tr>90000135.0090000225.00900002 am125.0090000340.0090000420.00900004 am110.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

最新更新