を列挙することなく、numpyの配列を作成します(お知らせ、最初の項目の繰り返しを)しかし、私は最初の項目は繰り返すことなく、このより速く得ることができる場合、私が最初にnp.hstack
をすることができます項目。この以降では、配列
[[58 58 56 54 52]
[56 56 54 52 50]
[54 54 52 50 48]
[52 52 50 48 46]
[50 50 48 46 44]
[48 48 46 44 42]
[46 46 44 42 40]
[44 44 42 40 38]
[42 42 40 38 36]
[40 40 38 36 34]
[38 38 36 34 32]
[36 36 34 32 30]
[34 34 32 30 None]
[32 32 30 None None]
[30 30 None None None]]
以下のコードは、 'for'ループと列挙なしでより速く動作します。
arr = np.empty((0,5), int)
for i,e in enumerate(x):
arr2 = np.hstack((x[i], x[i:i+4], np.asarray([None]*5)))[:5]
arr = np.vstack((arr,arr2))
私は毎回まったく新しいオブジェクトを作成する必要があるので、 'np._stack()'を取り除きます。また、 'None'を数値型で表すことができる場合は:inf maybe ..' dtype = object'の速度低下を避けることができます – Aaron
浮動小数点数で暮らすことができれば、NaNを使うことができるからです。 –
「なし」はデータベースの問題です。 – Merlin