まったく同じフィールドを持つ2つのNumpyレコード配列があります。それらを1つに結合する(つまり、1つのテーブルを別のテーブルに追加する)最も簡単な方法は何ですか?
3973 次
3 に答える
7
使用numpy.hstack()
:
>>> import numpy
>>> desc = {'names': ('gender','age','weight'), 'formats': ('S1', 'f4', 'f4')}
>>> a = numpy.array([('M',64.0,75.0),('F',25.0,60.0)], dtype=desc)
>>> numpy.hstack((a,a))
array([('M', 64.0, 75.0), ('F', 25.0, 60.0), ('M', 64.0, 75.0),
('F', 25.0, 60.0)],
dtype=[('gender', '|S1'), ('age', '<f4'), ('weight', '<f4')])
于 2009-11-10T15:39:36.473 に答える
0
for i in array1:
array2.append(i)
または(実装されている場合)
array1.extend(array2)
これで、array1にはarray2のすべての要素も含まれます
于 2009-11-10T15:28:07.760 に答える
0
#!/usr/bin/env python
import numpy as np
desc = {'names': ('gender','age','weight'), 'formats': ('S1', 'f4', 'f4')}
a = np.array([('M',64.0,75.0),('F',25.0,60.0)], dtype=desc)
b = np.array([('M',64.0,75.0),('F',25.0,60.0)], dtype=desc)
alen=a.shape[0]
blen=b.shape[0]
a.resize(alen+blen)
a[alen:]=b[:]
これは構造化配列で機能しますが、再配列では機能しません。おそらく、これは構造化配列に固執する良い理由です。
于 2009-11-10T15:37:47.270 に答える