删除重复的pandas数据帧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除重复的pandas数据帧相关的知识,希望对你有一定的参考价值。

我使用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
答案

问题在于您的索引,当您转置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')

以上是关于删除重复的pandas数据帧的主要内容,如果未能解决你的问题,请参考以下文章

Pandas数据帧:保持行重复

Pandas过滤值小于10且大于1000的数据帧行[重复]

使用Python pandas获取所有数据帧行[重复]

根据某个(非零)值删除数据帧(熊猫)中的行[重复]

Pyspark:与使用 pandas 创建数据帧相比,为啥使用 pyspark 创建数据帧需要更多时间 [重复]

pandas:按'日期'删除组中的重复项