Pythonで4次元NumPy配列に3次元NumPy配列をappendしたいです。
ファイルにあるカンマ区切りの16値が1000行あります。
そのファイルデータを100までは3次元NumPy配列cprevに代入しています。
100以上はTensorFlowに利用するため、4次元NumPy配列Xに3次元NumPy配列をappendしたいですがうまくいきません。
X = np.append(X, cprev, axis=0)
のところで
ValueError: all the input arrays must have same number of dimensions
のようなエラーが出ます。
解決策をご教授ください。よろしくお願いします。
Python
1# 16値の1000行あるファイルを読み込む 2datafile = 'data.txt' 3with open(datafile) as f: 4 srcdata = f.readlines() 5 6n = 100 7 8# データを保存するNumPy配列 9cprev = np.zeros((n,4,4)) 10# TensorFlowのXデータ 11X = np.empty((0, n, 4, 4), int) 12 13for i in range( 1000 ): 14 # 1行にカンマ区切り16値を分割して配列へ 15 spltDataArr = srcdata[i].split(",") 16 # cprevの最終行へNumPy配列[4,4]にして追加 17 cprev = np.append(cprev[n:], np.resize(spltDataArr, (4,4)) ) 18 19 # 500以上をXデータに保存 20 if ( i >= n ): 21 X = np.append(X, cprev, axis=0)
回答1件
あなたの回答
tips
プレビュー