以下のコードでは、ネストされたリストにデータを構築しています。 forループの後に私が望むのは、多次元のNumpy配列に可能な限りきれいにキャストすることです。しかし、私はそれで配列の変換を行うと、それは配列に外部のリストを変換するようだ。私が下向きに続行すると、dataPointsの形状が(100L,)
となってしまいます...各リストが自分のデータであるリストの配列(明らかに私は(100,3)
が必要でした)。私もnumpy.asanyarray()
で騙してみましたが、うまくいかないようです。可能であれば、最初から3Dリストから3D配列を得たいです。もしそうでなければ、どのようにしてリストを配列を2次元配列にして、それらをすべて反復処理して変換する必要はありませんか?データのネストされたリストを多次元ナンプー配列に変換する
編集:処理が簡単になると、最初からデータを構造化するためのより良い方法にもオープンしています。しかし、それはシリアルポートを介して来ており、サイズはあらかじめわかっていません。
import numpy as np
import time
data = []
for _i in range(100): #build some list of lists
d = [np.random.rand(), np.random.rand(), np.random.rand()]
data.append([d,time.clock()])
dataArray = np.array(data) #now I have an array of lists of a list(of data) and a time
dataPoints = dataArray[:,0] #this is the data in an array of lists
3Dネストされたリストはありません。リストとスカラーが混在しています。データは、[[0.434,0.34,0.22]、0.2]のようなオブジェクトを含むリストです。それは混在したオブジェクトなので、numpyはそれをどうしたらいいのかわかりません。 – Bitwise
これは元のデータオブジェクトに当てはまります。そのため、そこから可能であるかどうかはわかりませんでした。しかし、dataPointsオブジェクトは浮動小数点数のリストで、2次元配列にも入ることはできません。 – Matt