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

如何删除 Python DataFrame 中的重复列?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-04 08:11:02717浏览

How to Remove Duplicate Columns in Python DataFrames?

删除 Python 数据框中的重复列

使用数据框时,经常会出现重复列,从而产生冗余并可能导致混乱。如果您只想保留唯一的列,这可能会特别令人沮丧。幸运的是,有一些简单的解决方案可以在 Python pandas 中删除重复的列。

按名称删除列的解决方案

要根据名称删除重复的列,请使用以下命令line:

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

此方法使用 ~ 运算符来反转 df.columns.duplicate() 返回的布尔值,该值检查重复的列名称。然后,生成的布尔数组用于仅选择 df.loc 索引中的非重复列。添加 .copy() 方法是为了避免以后修改原始数据帧时可能出现错误。

按值删除重复的解决方案

假设你想删除重复的列通过检查它们的值,而不仅仅是它们的名字。这可以使用以下代码来实现:

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

此解决方案避免了转置数据帧,这对于大型数据帧来说可能非常耗时。它将 lambda 函数应用于每列以检查重复值。然后,使用生成的布尔数组仅选择没有重复值的列。

注意: 使用基于值的方法时要小心。在某些情况下,它可能并不总是能产生所需的结果。

其他提示

  • 要删除重复行,请使用 df 对索引应用相同的技术。 loc[~df.index.duplicates(),:].
  • 使用 drop_duplicates() 方法根据特定列删除重复行。

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

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