Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中查找数据集的两个不同列中相同值的匹配_Python_Sorting_Numpy - Fatal编程技术网

如何在python中查找数据集的两个不同列中相同值的匹配

如何在python中查找数据集的两个不同列中相同值的匹配,python,sorting,numpy,Python,Sorting,Numpy,我有一个.txt文件格式的数据集,如下所示: # ID M R x y z 0 1 200 2 2 2 1 5 300 2 4 6 2 5 600 2 4 2 3 4 500 2 2 5 4 4 500 3 2 1 5 7 300 2 4 1 [0, 3] [1, 2, 5] 我想打印在x和y列中具有相同值的行的ID 我写了一篇没有达到我想要的效果的文章: import numpy as np halo = 'test.txt' ID, m,r,x,y,z= np

我有一个.txt文件格式的数据集,如下所示:

# ID M R x y z
  0 1 200 2 2 2 
  1 5 300 2 4 6 
  2 5 600 2 4 2
  3 4 500 2 2 5
  4 4 500 3 2 1
  5 7 300 2 4 1
[0, 3]
[1, 2, 5]
我想打印在x和y列中具有相同值的行的ID

我写了一篇没有达到我想要的效果的文章:

import numpy as np
halo = 'test.txt'
ID, m,r,x,y,z= np.loadtxt(halo)


for yv in np.unique(halo[3] and halo[4]):
    if yv != np.nan:
        idx = x == yv

print idx
基本上,我需要如下输出:

# ID M R x y z
  0 1 200 2 2 2 
  1 5 300 2 4 6 
  2 5 600 2 4 2
  3 4 500 2 2 5
  4 4 500 3 2 1
  5 7 300 2 4 1
[0, 3]
[1, 2, 5]

它包含在x和y中具有相同值的ID列值。非常感谢您的帮助。

这可以通过熊猫来完成

import pandas as pd
df = pd.read_csv('path_to_your_txt_file')
rows = df[df['x'] == df['y']]

其中rows.index=[0,3]

您好,这对我来说还不太管用,我是否需要使用“print rows.index”来打印[0,3]?是的,rows是一个数据帧,它的索引是您想要的输出。所以打印(rows.index)