私はループ内でpython dictsを連結します(図示せず)。上記のコードの第2部分に見ることができるように、私は内で取得された辞書を連結し、numpy配列のdictを連結するnumpy dtypeを維持する
if station_index == 0:
dsst_mean_all = {}
for key in dsst_mean:
dsst_mean_all[key] = []
source = [dsst_mean_all, dsst_mean]
for key in source[0]:
dsst_mean_all[key] = np.concatenate([d[key] for d in source])
、その後私は、ループの最初のインスタンスに新しい空の辞書(dsst_mean_all)を宣言しますループ(dsst_mean)をすべてのデータ(dsst_mean_all)を保持する大きなdictと置き換えます。
ここで、dsst_meanは要素が異なる型のnumpy配列であるdictです。主にfloat32です。私の質問は、どのように連結中にデータ型を保持できますか?私のdsst_mean_all dictはすべての要素に対してfloat64 numpyの配列になります。メモリを節約しファイルサイズを減らすために、dsst_meanと一致させるためにこれらが必要です。ループのすべての反復のdsst_meanは、同じdtypeの同じ構造と要素を持つことに注意してください。
ありがとうございました。
あなたの説明は、辞書、リストと配列をアップミックスします。 'source'配列またはリストに値がありますか? – hpaulj
ソースはdsst_mean_allとdsst_meanの2つのdictのリストです。 – InitialConditions
通常、リスト内のすべてのコンポーネント配列を収集し、最後に1回連結することをお勧めします。これは通常、繰り返し連結されたものより速く、初期化が容易です。 – hpaulj