2

次のデータを検討してください。

61  1  1 15.04 14.96 13.17  9.29 13.96  9.87 13.67 10.25 10.83 12.58 18.50 15.04
61  1  2 14.71 16.88 10.83  6.50 12.62  7.67 11.50 10.04  9.79  9.67 17.54 13.83
61  1  3 18.50 16.88 12.33 10.13 11.17  6.17 11.25  8.04  8.50  7.67 12.75 12.71

最初の 3 列は、年、月、日です。
残りの 12 列は、その日の 1 か国の 12 か所でのノット単位の平均風速です。

私がやりたいことは、次のデータを取得するために、2 番目と 3 番目の列 (インデックス 1 と 2) を失うことです。

61  15.04 14.96 13.17  9.29 13.96  9.87 13.67 10.25 10.83 12.58 18.50 15.04
61  14.71 16.88 10.83  6.50 12.62  7.67 11.50 10.04  9.79  9.67 17.54 13.83
61  18.50 16.88 12.33 10.13 11.17  6.17 11.25  8.04  8.50  7.67 12.75 12.71

以下は機能しますが、データに多くの列 (つまり、多くの場所) があるとスケーリングされないため、好きではありません。

import numpy as np
data = np.loadtxt('wind.data')
data_nomonth_noday = data[:,[0,3,4,5,6,7,8,9,10,11,12,13,14]]

列番号を列挙せずに達成することは可能ですか? スライスで達成できますか?

4

4 に答える 4

1

これはうまくいくはずです:

import numpy as np
data = np.loadtxt('wind.data')
data_nomonth_noday = np.zeros((data.shape[0],data.shape[1]-2))
data_nomonth_noday[:,0] = data[:,0]
data_nomonth_noday[:,1:] = data[:,3:]

私の意見では、これはこれを行う他の可能な方法のいくつかよりも読みやすく、柔軟で直感的です

于 2019-12-25T22:01:43.173 に答える