以下のコードでは、ネストされたリストにデータを構築しています。forループの後、私が望むのは、それを可能な限りきれいに多次元のNumpy配列にキャストすることです。ただし、配列変換を行うと、外側のリストを配列に変換するだけのようです。さらに悪いことに、下向きに続けると、dataPointsが形になってしまい(100L,)
ます...したがって、各リストが私のデータであるリストの配列(明らかに私は(100,3)
)が必要でした。私もだましてみましnumpy.asanyarray()
たがうまくいかないようです。可能であれば、最初から3Dリストの3D配列が本当に欲しいです。そうでない場合、リストの配列をすべて繰り返して変換することなく、リストの配列を2D配列にするにはどうすればよいですか?
編集:処理が簡単になる場合は、最初からデータを構造化するためのより良い方法も受け入れています。ただし、シリアルポート経由で送信されており、サイズは事前にわかりません。
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