python - 使用 pandas 查找是否有两列名称不同但值相同

标签 python pandas duplicates

我的表有 30 列,主要是数字,有 500k 行。我想检查此表中是否有两列的所有行都具有相同的值。 例如:

我有这张表:

>>> num1   num2  num3  num4
0   5.1    2.3   7     5.1
1   2.2    4.4   3.1   2.2
2   3.7    11.1   5.9  3.7
3   4.2    1.5    0.3  4.2

所以在这种情况下,我想删除列“num4”,因为它与列“num1”相同。

到目前为止,我只看到了查看是否存在相同值或它们是否保存相同名称的方法,但没有看到两列是否相同。

我的最终目标:消除重复的列(按值而不是按名称)

最佳答案

尝试重复

out = df.loc[:,~df.T.duplicated()]
Out[397]: 
   num1  num2  num3
0   5.1   2.3   7.0
1   2.2   4.4   3.1
2   3.7  11.1   5.9
3   4.2   1.5   0.3

或者

out = df.T.drop_duplicates().T
Out[399]: 
   num1  num2  num3
0   5.1   2.3   7.0
1   2.2   4.4   3.1
2   3.7  11.1   5.9
3   4.2   1.5   0.3

关于python - 使用 pandas 查找是否有两列名称不同但值相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65522467/

相关文章:

python - 如何将字符串拆分为文本和数字?

python - pandas value_counts() 具有列表形式的多个值?

python - EM 聚类算法中附加的标签

python - 在django中使用注释引用相关对象

python - 是否可以为 pytest 的参数化全局设置一个默认的 `ids` 函数?

python - python中将字符串拆分并有序保存到列表中

python - pandas.concat 产生所有 NaN

ruby - 计算大型字符串数据集最快的设置是什么?

jquery - 重复时输入会失去值(value)

applescript - 当涉及到社交资料时,使用 AppleScript 清理地址簿的行为很奇怪