我是編程的新手,有一個問題。如果我有兩個numpy的數組:在numpy數組上迭代來比較不同數組的列
A = np.array([[1,0,3], [2,6,5], [3,4,1],[4,3,2],[5,7,9]], dtype=np.int64)
B = np.array([[3,4,5],[6,7,9],[1,0,3],[4,5,6]], dtype=np.int64)
我想數組A的最後兩列比較陣列B的最後兩列,然後如果他們是平等的,輸出整個行到一個新的數組。所以,這兩個陣列的輸出將是:
[1,0,3
1,0,3
5,7,9
6,7,9]
因爲即使第一個元素不匹配的最後兩行,最後兩個元素做。
這是我的代碼到目前爲止,但它甚至不接近工作。任何人都可以給我一些提示嗎?
column_two_A = A[:,1]
column_two_B = B[:,1]
column_three_A = A[:,2]
column_three_B = B[:,2]
column_four_A = A[:,3]
column_four_B = B[:,3]
times = A[:,0]
for elementA in column_three_A:
for elementB in column_three_B:
if elementA == elementB:
continue
for elementC in column_two_A:
for elementD in column_two_B:
if elementC == elementD:
continue
for elementE in column_four_A:
for elementF in column_four_B:
if elementE == elementF:
continue
element.append(time)
print(element)
你的問題是非常不清楚的,你的意思是你想比較A中的每一行和B中的每一行,並且當兩行中最後兩個元素相同時返回兩者?此外,您的代碼無法識別,請嘗試正確格式化,以便我們至少可以讀取它。 – jadsq
所以要清楚,你想要兩個數組的行附加到新的數組?在你的例子中是長度相等還是長度不同的數組? – BenT
是的,我想要追加兩行。陣列長度不一樣,這是我一直在努力...幫助將不勝感激。 –