Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 当存在具有相同值的列时,Numpy二维数组(或数据帧)如何相交?_Python_Arrays_Numpy_Pandas - Fatal编程技术网

Python 当存在具有相同值的列时,Numpy二维数组(或数据帧)如何相交?

Python 当存在具有相同值的列时,Numpy二维数组(或数据帧)如何相交?,python,arrays,numpy,pandas,Python,Arrays,Numpy,Pandas,假设我有两个Numpy二维数组: A = ('2010-01-04', 8019.0) ('2010-01-05', 8046.0) ('2010-01-06', 8028.0) ... A的列是“时间”和“值” B = ('2010-01-03', 3073.0) ('2010-01-04', 3068.0) ('2010-01-05', 3068.0) ... B的列也是“时间”和“价值”。 现在,当A['time']=B['time']

假设我有两个Numpy二维数组:

A = ('2010-01-04', 8019.0)
    ('2010-01-05', 8046.0)
    ('2010-01-06', 8028.0)
    ...
A的列是“时间”和“值”

B = ('2010-01-03', 3073.0)
    ('2010-01-04', 3068.0)
    ('2010-01-05', 3068.0) 
    ...
B的列也是“时间”和“价值”。 现在,当A['time']=B['time']时,我想选择A和B的行

A1 = ('2010-01-04', 8019.0)
     ('2010-01-05', 8046.0)
     ...
B1 = ('2010-01-04', 3068.0)
     ('2010-01-05', 3068.0) 
     ...
有没有一种有效的方法? 我已尝试选择A['time']和B['time']的交点,并使用np.where选择行:

time_A = np.array(A['time'])
time_B = np.array(B['time'])
time_inter = np.intersect1d(time_A,time_B)
index_A = np.where(time_A == time_inter)
A1 = A[index_A]

关于pandas DataFrame,我用同样的方法来完成工作。有没有更好的方法?至少不要“拾取”时间列,直接获取A1和B1?

对不起,你只是要求像内部
合并
那样的交叉点?所以
A.merge(B,on='time')
?或者
A[A['time'].isin(B['time']]]
?谢谢。我尝试了合并和isin,但出现了一个错误。是否有两个错误?