2016-11-03 7 views
0

I operator.attrgetter So verwendet, um zu versuchen ein Array-Klasse in eine numpy Array rippen von tupleList=map(attrgetter(*inNames),inClass) und für tupleList[0] mit so etwas wie dies endeteFlatten Tupel numpy Array mit Array numpy

(1, array([0.0, 0.0, 0.0, 0.0], 'f'), 1)

Ich mag würde die in einen numpy Array zu drehen (insbesondere ein strukturiertes Array, aber ich kann, das aus arbeiten), die wie diese

array([1, 0.0, 0.0, 0.0, 0.0, 1], dtype=(('id', 'i8'), . . . .)])

siehtLeider np.asArray(tupleList[0]) und np.asAnyArray(tupleList[0]) nicht funktionieren und ich

ValueError: setting an array element with a sequence

Gibt es eine Möglichkeit, um dieses? Derzeit kämpfe ich gegen meine IT-Abteilung, um Pandas zu bekommen, aber habe sie jetzt nicht. Ich nehme an, dass würde das helfen?

Antwort

1

Verwenden np.hstack um Ihre Tupel zu integrieren:

In [106]: foo = (1, np.array([0.0, 0.0, 0.0, 0.0], 'f'), 1) 

In [107]: np.hstack(foo) 
Out[107]: array([ 1., 0., 0., 0., 0., 1.]) 
+0

Die 1d funktioniert, gibt es eine Möglichkeit, dies für den ganzen tupleList zu tun? –

+1

@DanielForsman Aber deine Frage bezieht sich auf 1D und nicht die gesamte Tupelliste. Die Änderung der Anforderungen Ihrer Frage nach einer Antwort ist nicht sehr fair. –

+0

Verstanden. In jedem Fall scheint 'np.array ([np.hstack (t) für t in tupleList]) 'zu funktionieren. –