前提・実現したいこと
pythonでNumpyを用いずに標準偏差を出す関数の作成
###もとになっているリスト
学生番号 勉強時間 成績
0 1 20.0 80.0
1 2 18.0 85.0
2 3 10.0 50.0
3 4 24.0 90.0
4 5 22.0 100.0
5 6 8.0 60.0
6 7 16.0 70.0
7 8 5.0 20.0
8 9 30.0 95.0
9 10 12.0 65.0
10 11 13.0 60.0
11 12 27.0 95.0
12 13 20.0 65.0
13 14 15.0 90.0
14 15 22.0 75.0
15 16 18.0 70.0
16 17 20.0 70.0
17 18 23.0 80.0
18 19 25.0 90.0
19 20 15.0 65.0
発生している問題・エラーメッセージ
TypeErrorTraceback (most recent call last) <ipython-input-35-447474e8d616> in <module> 11 return std 12 ---> 13 std(df) <ipython-input-35-447474e8d616> in std(list) 6 Dist=[] 7 for x,y in enumerate(list): ----> 8 Dist[y]=(x-ans)**2 9 s=sum(Dist) 10 std=(s/n)**0.5 TypeError: only integer scalar arrays can be converted to a scalar index
該当のソースコード
Python
1df=df.drop('学生番号',axis=1) 2df=df.values.T 3 4def std(list): 5 n=len(list) 6 s=sum(list) 7 ans=s/n 8 Dist=[] 9 for x,y in enumerate(list): 10 Dist[y]=(x-ans)**2 11 s=sum(Dist) 12 std=(s/n)**0.5 13 return std 14 15std(df)
補足情報(FW/ツールのバージョンなど)
Python3.6
Jupyter Notebookでの実行
回答1件
あなたの回答
tips
プレビュー