あるcsvファイルデータから下記通りデータを抽出し
df1 = pd.read_excel('data/marketing.xlsx')
data1=df1 [((df1['Country']== 'Germany')&(df1 ['Sex'] == 'Man'))]
data2 =np.asarray(data1)
そしてさらに下記の通りデータを抽出し
select = lambda row: [float(row[7])]
data2 = np.array([select(row) for row in data2])
上から5行目までを表示させると
data2[:5]
下記の通り表示されます。
array([[11.5],
[10.5],
[10.5],
[10. ],
[ 8. ]])
しかし、ここからランダムに392個のデータを抽出したsampleを下記の通り作ろうとすると
np.random.seed(0)
sample=np.random.choice(data2,392,replace=False)
下記のエラーが出てしまいます。
ValueError Traceback (most recent call last)
<ipython-input-3-4cb5c0416549> in <module>
1 np.random.seed(0)
----> 2 sample=np.random.choice(data2,392)
mtrand.pyx in numpy.random.mtrand.RandomState.choice()
ValueError: a must be 1-dimensional
エラーが出ない上記sampleへの格納方法を教えて戴けたらと思います。
追記
下記のホームページを参考にしました。
https://www.python.ambitious-engineer.com/archives/2138
元データが初めから一列だとすんなりできるようですが、データを抽出した上で、さらに
それからランダムにサンプル抽出となるとエラーが出て、スムーズにいかないようです。
回答1件
あなたの回答
tips
プレビュー