删除 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 函数应用于每列以检查重复值。然后,使用生成的布尔数组仅选择没有重复值的列。
注意: 使用基于值的方法时要小心。在某些情况下,它可能并不总是能产生所需的结果。
其他提示
以上是如何删除 Python DataFrame 中的重复列?的详细内容。更多信息请关注PHP中文网其他相关文章!