如何摆脱我们熊猫数据框中的相等列?

Posted

技术标签:

【中文标题】如何摆脱我们熊猫数据框中的相等列?【英文标题】:how to get ride of equal column in our panda data frame? 【发布时间】:2022-01-15 16:25:06 【问题描述】:

我有三个大小为 df1=(176, 5766) df2=(8, 5766) df3=(16, 5766) 的数据框,尽管列名不同,但在我的列中存在相似的数据值(所有列在每三个都相等),但是当我使用例如

df1.T.drop_duplicates().T 
df2.T.drop_duplicates().T 
df3.T.drop_duplicates().T 

虽然它必须创建相同的输出列,但它会将 df1=(176, 581) df2=(8, 632) df3=(16, 622) 我怎样才能驾驭这个?

【问题讨论】:

您的意思是要保留所有 3 个数据框中存在的列并从所有数据框中删除其余列?所以基本上你在所有这些中留下了相同数量的列? 不,我的意思是我想删除值列(不是名称列)方面的相似列,因为所有三个数据框都是相似的列,但只是行号不同。但是当您等待时,通过上述方法删除相似列后,它们在输出中的列号必须相同,但不是? 【参考方案1】:

语法: df.drop_duplicates(subset=None, keep='first', inplace=False)

参数:

子集:

Subset 采用列或列标签列表。它的默认值为无。传递列后,它只会将它们视为重复项。

保留:

keep 是控制如何考虑重复值。它只有三个不同的值 - first、last 和 false。默认为“第一”。 ‘first’,它认为第一个值是唯一的,其余相同的值是重复的。

就地:

布尔值,如果为真则删除重复行。

# dropping duplicate values
df1.drop_duplicates(keep=False,inplace=True)
df2.drop_duplicates(keep=False,inplace=True)
df3.drop_duplicates(keep=False,inplace=True)

【讨论】:

谢谢promila,但我想删除相似的列,而不是原始列,您建议不要删除所有三个中的相似列?

以上是关于如何摆脱我们熊猫数据框中的相等列?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过使用数据框中的其他列来聚合熊猫数据框中的列

如何更新python中熊猫数据框特定列中的所有行?

如何在 Pandas 数据框中的特定位置插入一列? (更改熊猫数据框中的列顺序)

如何根据列的值对熊猫数据框中的列进行分类?

如何同时对熊猫数据框中的列进行排序[重复]

如何使用熊猫数据框中的列标记气泡图/散点图?