これは愚かな質問かもしれませんが、答えが見つからないようです。私は以前にnp.save
を使用して保存した大きな配列を持っています。そして、新しいファイルにデータをロードして、各列から別々のリストを作成したいと思います。唯一の問題は、私の大きな配列内の行の一部は、単一のnan
値を持っているということですので、配列は、(非常に簡略化した例として)次のようになります。'.npy'ファイルのデータをアレイに直接読み込む
np.array([[5,12,3],
[nan],
[10,13,9],
[nan],
[nan]])
私は達成するために、forループを使用することができます私はしたいが、これよりも良い方法があった場合、私は思っていた:
import numpy as np
results = np.load('data.npy')
depth, upper, lower = [], [], []
for item in results:
if len(item) > 1:
depth.append(item[0])
upper.append(item[1])
lower.append(item[2])
else:
depth.append(np.nan)
upper.append(np.nan)
lower.append(np.nan)
私の所望の出力は次のようになります。
depth = [5,nan,10,nan,nan]
upper = [12,nan,13,nan,nan]
lower = [3,nan,9,nan,nan]
あなたの助けをありがとう!以前は "data.npy"ファイルを作成するコードを変更して各行の列数が同じになるようにしておく必要がありましたが、そのコードはすでに実行に数時間かかるので、むしろ避けたいと思います!
ありがとうございます!私はあなたの最初の提案を使い、 'depth = dd [0]'となるように 'dd'を入れ替えました。私がやっていたすべてのものよりもきれいに見えます。 – Aero