2014-09-24 16 views
6

kullanıldığında mümkündür sütun d_type korumak içinnumpy: I d_type dönüştürülmüş olur numpy dizileri bağlamak için column_stack kullandığınızda column_stack

a = numpy.array([1., 2., 3.], dtype=numpy.float64) 
b = numpy.array([1, 2, 3], dtype=numpy.int64) 
print numpy.column_stack((a, b)).dtype 
>>> float64 

arasında d_type korumak için bir yol yoktur (genellikle float) bireysel sütunlar?

+0

Bu cevapların hiçbirinde yardımcı oluyor yoksa başka bir şey arıyorsanız düşünüyor musunuz? – Dalek

+1

Çok teşekkürler, rec.array yaklaşımı tam olarak istediğimi yapıyor gibi görünüyor. – fetteelke

+0

iyimisiniz! – Dalek

cevap

1

Sen numpy.lib.recfunctions yöntemle iki diziyi yığını ve onunla türünü koruyabilir: Ben em column_stack'ed zaman

>>> from numpy.lib.recfunctions import append_fields 

>>> a = numpy.rec.array(a, dtype=[('a', numpy.float64)]) 
>>> new_a = append_fields(a, 'b', b, usemask=False, dtypes=[numpy.int64]) 
>>> new_a 
array([(1.0, 1), (2.0, 2), (3.0, 3)], 
     dtype=[('a', '<f8'), ('b', '<i8')]) 

>>> new_a['a'] 
array([ 1., 2., 3.]) 

>>> new_a['b'] 
array([1, 2, 3])