我有两个numPy数组,它们的行数不同但列数相同。每个数组的结构-年份,月份,日期,时间,卫星数量,数据值。每个数组都有不同类型的数据。
如何比较这两个数组以仅获取两个数组中共有的行,其中比较参数是前5列,然后是两个带有相应值的列。例如:
如何比较这两个数组以仅获取两个数组中共有的行,其中比较参数是前5列,然后是两个带有相应值的列。例如:
A=[('2015', '1', '1', 0.0, 'G06', 46.29)
('2015', '1', '1', 0.0, 'G12', 444.344)
('2015', '1', '1', 0.0, 'G14', -99.269)
('2015', '1', '1', 0.0, 'G20', 6.874)
('2015', '1', '1', 0.0, 'G24', 158.488)
('2015', '1', '1', 0.0, 'G25', -60.831)
('2015', '1', '1', 0.0, 'G31', -48.234)
('2015', '1', '1', 0.0, 'R07', -6.243)]
B=[('2015', '1', '1', 0.0, 'G06', '0.000')
('2015', '1', '1', 0.0, 'G12', '0.000')
('2015', '1', '1', 0.0, 'G14', '0.000')
('2015', '1', '1', 0.0, 'G24', '0.000')
('2015', '1', '1', 0.0, 'G25', '0.000')
('2015', '1', '1', 0.0, 'G29', '0.000')
('2015', '1', '1', 0.0, 'G31', '0.000')]
The result, I would like to get:
C=[('2015', '1', '1', 0.0, 'G06', 46.29, '0.000')
('2015', '1', '1', 0.0, 'G12', 444.344, '0.000')
('2015', '1', '1', 0.0, 'G14', -99.269, '0.000')
('2015', '1', '1', 0.0, 'G24', 158.488, '0.000')
('2015', '1', '1', 0.0, 'G25', -60.831, '0.000')
('2015', '1', '1', 0.0, 'G31', -48.234, '0.000')]
我可以使用循环来完成,但是当你有50000+行的数组时,这不是一个高效的解决方案。