リストのサイズが異なり、numpy配列にコピーしたいと思います。私はすでにやりたいことがありますが、よりエレガントな方法があるかどうかを確認したいと思います。この後リストをnumpy配列の一部にコピーする
import numpy as np
data = np.full((10,), np.nan)
# I want to copy my list into data starting at index 2
def apply_list(my_list):
data[2:2+len(mylist)] = mylist
# Example
tmp = [1, 2, 3, 4] # can vary from 2 to 8 elements
apply_list(tmp)
、私はデータがこのように見えることを期待:
[nan, nan, 1, 2, 3, 4, nan, nan, nan, nan]
len(mylist)
は2から8
のは、以下の私が持っていると言います
未使用の場所をNaNでマークし、データが事前に割り当てられており、my_listのサイズに関係なく、常にsize = 10にする必要があります。そのため、単に追加するだけでは機能しません。
私は特にやりたくないのです2:2+len(mylist)
。これを行うにはよりきれいな方法がありますか?
これは最も簡単な方法です。 – hpaulj
これをいくつかのイテレータ/ジェネレータと組み合わせる方法はありますか? (明らかに単純なPythonで反復する必要はありません)。私はnp.fromiterについて知っていますが、その割り当てにどのように接続するかはわかりません。 – purpletentacle
スピードやかわいいコードをお探しですか? – hpaulj