首页 > 解决方案 > 从熊猫数据框中删除重复的列索引

问题描述

我正在寻找一种解决方案来删除我的数据框中的重复列索引 - 我需要做的是逐行添加重复列中的值,然后只保留这些列中的 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

标签: pythonpandasdataframe

解决方案


只需按列分组:

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()

推荐阅读