1

numpy 配列に参加する方法があるかどうか疑問に思っていました。

例:

array1 = [[1,c,d], [2,a,b], [3, e,f]]
array2 = [[2,g,g,t], [1,alpha, beta, gamma], [1,t,y,u], [3,dog, cat, fish]]

これらの配列を結合する必要がありますが、Numpy のドキュメントによると、レコードが一意でない場合、関数は失敗するか、不明な結果を返します。

numpy 配列1:Mの結合の代わりに結合を行うサンプルはありますか? 1:1また、私の例が適切なnumpy形式であることは知っていますが、それは一般的なアイデアを提供するためのものです.

4

1 に答える 1

1

達成しようとしているものは、2 つの入力配列に基づく新しいネストされたリストのように見えます。

それらをリストとして扱う:

list1 = [[1,'c','d'], [2,'a','b'], [3, 'e','f']]
list2 = [[2,'g','g','t'], [1,'alpha', 'beta', 'gamma'], [1,'t','y','u'], [3,'dog', 'cat', 'fish']]

次のようにして、目的の結果を構築できます。

result = [i+j[1:] for i in list1 for j in list2 if i[0]==j[0]]

これは次のようになります。

[[1, 'c', 'd', 'alpha', 'beta', 'gamma'],
 [1, 'c', 'd', 't', 'y', 'u'],
 [2, 'a', 'b', 'g', 'g', 't'],
 [3, 'e', 'f', 'dog', 'cat', 'fish']]
于 2013-07-05T15:04:28.750 に答える