【问题标题】: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 个数据框中存在的列并从所有数据框中删除其余列?所以基本上你在所有这些中留下了相同数量的列?
  • 不,我的意思是我想删除值列(不是名称列)方面的相似列,因为所有三个数据框都是相似的列,但只是行号不同。但是当您等待时,通过上述方法删除相似列后,它们在输出中的列号必须相同,但不是?

标签: python python-3.x pandas dataframe duplicates


【解决方案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,但我想删除相似的列,而不是原始列,您建议不要删除所有三个中的相似列?
猜你喜欢
  • 2015-05-11
  • 2023-03-20
  • 2022-08-08
  • 1970-01-01
  • 2020-03-18
  • 2019-07-26
  • 2020-03-06
  • 2019-09-29
  • 2016-12-05
相关资源
最近更新 更多