首页  >  文章  >  后端开发  >  如何删除 Pandas 中的重复列?

如何删除 Pandas 中的重复列?

Linda Hamilton
Linda Hamilton原创
2024-11-01 20:17:02887浏览

How to Remove Duplicate Columns in Pandas?

如何删除 Pandas 中的重复列

如果您正在处理具有重复列的 DataFrame,您可能需要删除它们出于数据一致性或分析目的。这里有一个简单的解决方案来实现这一点:

<code class="python">df = df.loc[:,~df.columns.duplicated()].copy()</code>

机制:

  • df.columns.duplicated() 创建一个布尔数组,其中 True 表示重复列名称,False 表示唯一名称。
  • 应用 ~(逻辑否定)会翻转此数组,仅选择不重复的列。
  • df.loc[:,...] 使用布尔索引用于选择这些不重复的列,有效地删除重复项。
  • copy() 确保使用删除的重复项创建一个新的 DataFrame,而原始 DataFrame 不受影响。

注意:此方法根据列名称而不是列值检查重复项。

替代方法:

删除重复项索引:

<code class="python">df = df.loc[~df.index.duplicated(),:].copy()</code>

这使用与上面类似的机制删除任何重复的行,但它检查索引而不是列名称。

按值删除重复项(警告):

<code class="python">df = df.loc[:,~df.apply(lambda x: x.duplicated(),axis=1).all()].copy()</code>

此方法会扫描每一列,如果该列中的所有值都重复,则将其删除。但是,应谨慎使用它,因为它检查值而不是列名称,并且可能无法在所有情况下产生所需的结果。

以上是如何删除 Pandas 中的重复列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn