我的表有 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/