删除重复的pandas数据帧

问题描述 投票:2回答:1

我使用drop_duplicates从我的数据帧中删除重复列时收到错误消息。

ValueError: Buffer has wrong number of dimensions (expected 1, got 2)

下面是一个最小的例子(注意我这里没有重复的列名,因为那个列不会被添加,所以我的var1在我的实际数据帧中称为var0)

dict1 = [{'var0': 0, 'var1': 0, 'var2': 2},
         {'var0': 0, 'var1': 0, 'var2': 4},
         {'var0': 0, 'var1': 0, 'var2': 8},
         {'var0':0, 'var1': 0, 'var2': 12},]
df = pd.DataFrame(dict1, index=['s1', 's2','s1','s2'])
df.T.drop_duplicates().T
python pandas duplicates
1个回答
2
投票

问题在于您的索引,当您转置DataFrame时,您将获得重复的列名称,这些名称正在搞乱它。见下文

dict1 = [{'var0': 0, 'var1': 0, 'var2': 2},
         {'var0': 0, 'var1': 0, 'var2': 4},
         {'var0': 0, 'var1': 0, 'var2': 8},
         {'var0':0, 'var1': 0, 'var2': 12},]
df = pd.DataFrame(dict1, index=['s1', 's2','s1','s2'])
df.reset_index().T.drop_duplicates().T.set_index('index')
© www.soinside.com 2019 - 2024. All rights reserved.