python - 从熊猫数据框中删除重复的列索引
问题描述
我正在寻找一种解决方案来删除我的数据框中的重复列索引 - 我需要做的是逐行添加重复列中的值,然后只保留这些列中的 1 个与总和值
df = pd.DataFrame(np.array([[0,0,0,1,0,0,0], [0,1,0,0,0,0,0],
[0,0,0,0,0,0,1]]), columns=[1,1,2,2,2,3,3], index=[1,2,3])
1 1 2 2 2 3 3
1 0 0 0 1 0 0 0
2 0 1 0 0 0 0 0
3 0 0 0 0 0 0 1
应该成为
1 2 3
1 0 1 0
2 1 0 0
3 0 0 1
解决方案
只需按列分组:
df.groupby(df.columns, 1).sum()
1 2 3
1 0 1 0
2 1 0 0
3 0 0 1
或者正如@user2285236 所指出的那样
df.groupby(axis=1, level=0).sum()
推荐阅读
- asp.net-core - 在另一个端口上公开 ASP.NET Core Prometheus 指标
- c# - 如何在 ASP.NET Core 登录重定向中强制 returnUrl 的绝对 uri 类型?
- javascript - 带有 React 的样式化组件 - 表单 onSubmit 不起作用
- c# - 使用 KeyDown,并使用多个按键
- azure-data-explorer - Azure-Data-Explorer:最近在开发 SKU 中提高了离线率?
- r - 如果您想“回收”RHS,请使用 rep() 错误消息
- flutter - 调用者无权执行指定操作
- swift - @AppStorage 使用“错误”的 UserDefaults
- swift - 如何返回类类型以快速解码可编码
- python - 对图像序列使用 categorical_crossentropy