python dataframe索引字段相同的合并_在DataFram中合并重复列

这篇博客介绍了如何在Python的DataFrame中处理索引字段相同的情况,包括使用groupby()函数进行按列合并,并展示了如何在具有MultiIndex列的情况下进行聚合。同时,还提供了删除或保留重复列的方法,例如使用`df.loc[:,~df.columns.duplicated()]`来删除重复列,或通过`df.groupby(level=0, axis=1).first()`和`.last()`选择保留特定重复列。" 111757367,10295771,离线环境下Linux卸载与安装Docker步骤详解,"['Linux', 'Docker', '卸载', '离线安装', '系统管理']
摘要由CSDN通过智能技术生成

回答:GroupBy带level和axis参数

这里不需要lambda,也不需要显式查询df.columns;^{}接受可以与axis参数一起指定的level参数。我觉得这更干净# Setup

np.random.seed(0)

df = pd.DataFrame(np.random.choice(50, (5, 5)), columns=list('AABBB'))

df

A A B B B

0 44 47 0 3 3

1 39 9 19 21 36

2 23 6 24 24 12

3 1 38 39 23 46

4 24 17 37 25 13

df.groupby(level=0, axis=1).sum()

A B

0 91 6

1 48 76

2 29 60

3 39 108

4 41 75

处理MultiIndex列

另一个需要考虑的情况是在处理MultiIndex列时。考虑df.columns = pd.MultiIndex.from_arrays([['one']*3 + ['two']*2, df.columns])

df

one two

A A B B B

0 44 47 0 3 3

1 39 9 19 21 36

2 23 6 24 24 12

3 1 38 39 23 46

4 24 17 37 25 13

要跨上层执行聚合,请使用df.groupby(level=1, axis=1).sum()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值