私は以下のコードでテキストファイルから読んでいます:
import numpy as np
my_data = np.genfromtxt(resultsDirectory+'/Points.txt', delimiter=' ')
PointX = my_data[:,5]
PointY = my_data[:,11]
私の入力ファイルは通常このようなものです-
ParamA : 0 ParamB : 7 ParamC : 0 ParamD : 1 Result : FAIL Time : 0 Epsilon : 0.5
ParamA : 0 ParamB : 11 ParamC : 0 ParamD : 1 Result : FAIL Time : 2 Epsilon : 0.5
ParamA : 0 ParamB : 7 ParamC : 0 ParamD : 3 Result : FAIL Time : 2 Epsilon : 0.25
ParamA : 0 ParamB : 13 ParamC : 0 ParamD : 1 Result : FAIL Time : 7 Epsilon : 0.25
ParamA : 0 ParamB : 7 ParamC : 0 ParamD : 4 Result : FAIL Time : 8 Epsilon : 0.125
ParamA : 0 ParamB : 8 ParamC : 0 ParamD : 2 Result : FAIL Time : 1 Epsilon : 0.125
ParamA : 0 ParamB : 8 ParamC : 0 ParamD : 3 Result : FAIL Time : 3 Epsilon : 0.125
ParamA : 0 ParamB : 8 ParamC : 0 ParamD : 4 Result : FAIL Time : 6 Epsilon : 0.125
ParamA : 0 ParamB : 9 ParamC : 0 ParamD : 2 Result : FAIL Time : 6 Epsilon : 0.125
ParamA : 0 ParamB : 10 ParamC : 0 ParamD : 2 Result : FAIL Time : 5 Epsilon : 0.125
ParamA : 0 ParamB : 14 ParamC : 0 ParamD : 1 Result : FAIL Time : 6 Epsilon : 0.125
これからPointXを抽出すると、
PointX = [7 11 7 13 7 8 8 8 9 10 14]
PointY = [1 1 3 1 4 2 3 4 2 2 1]
今、私のテキストファイルには1行しか含まれていないか、空でさえあることがあります。
たとえば、テキストファイルに1行しかない場合、my_data配列は次のようになります-
[ nan nan 0. nan nan 7. nan nan 0. nan nan 1.
nan nan nan nan nan 0. nan nan 0.5]
この場合、をmy_data.shape
返します(21,)
。
ただし、配列を読み取るPointX
かPointY
、としてエラーが発生しIndexError: invalid index
ます。欲しかったPointX=[7]
しPointY=[1]
。または、テキストファイルが空の場合は、とである必要がPointX=[]
ありPointY=[]
ます。
この問題をどの程度正確に解決する必要がありますか?また、それに依存するコードを壊さないために、 PointX
andが配列である必要があります。PointY
ありがとうございました。