pythonでデータサイエンス 初級
データ解析、機械学習で使用される統計などの技術
python の数学系ライブラリについての内容となります。
=========
参考は。大学さまの公開資料や、python数学系ライブラリの参考記事、
統計学の参考記事を参考にしています。より詳しく理解されたい方は
記載の用語などを検索したり。各ページの関連URLを参考下さい。
参考のページ:
http://weblab.t.u-tokyo.ac.jp/gci_contents/
jupyter notebook形式のファイルは、
事前に実行環境を準備が必要になりそうです。
=========
numpy の機能
python の数学系ライブラリnumpy 機能の説明となります。
データサイエンス、機械学習の前処理でよく使われるようです。
numpy の配列作成, array() arange() zeros() ones()
knaka0209.hatenablog.com
numpy のsort() min() max() sum()
knaka0209.hatenablog.com
numpy のrandom randn()
knaka0209.hatenablog.com
numpy の行列の作成
knaka0209.hatenablog.com
pandas の機能
pandas Series
knaka0209.hatenablog.com
pandas DataFrame
knaka0209.hatenablog.com
pandas merge()
knaka0209.hatenablog.com
pandas sort_values()
knaka0209.hatenablog.com
pandas info()
knaka0209.hatenablog.com
numpy のsort() min() max() sum()
numpy のsort() 等の説明となります。
関連のページ:
https://docs.scipy.org/doc/numpy/reference/routines.sort.html
sort()
# ソート a1 = np.array([5,4,3,2,1]) print(a1 ) a1.sort() print(a1 )
結果:
[5 4 3 2 1] [1 2 3 4 5]
sort() 実行後に、配列の順番が変更されています。
min()
a1 = np.array([5,4,3,2,1]) # 最小値 print("Min:", a1.min())
結果:
('Min:', 1)
最小値が、表示されます。
max()
最大
print("Max:",a1.max())
結果:
('Max:', 5)
最大値が、表示されます。
sum()
合計
# 合計 a1 = np.array([5,4,3,2,1]) print("Sum:", a1.sum())
結果:
('Sum:', 15)
cumsum()
積み上げ
# 積み上げ a1 = np.array([5,4,3,2,1]) print("Cumsum:", a1.cumsum())
結果:
('Cumsun:', array([ 5, 9, 12, 14, 15]))
numpy の配列作成, array() arange() zeros() ones()
numpy の配列作成等の内容となります。
関連のページ:
https://docs.scipy.org/doc/numpy/reference/routines.array-creation.html
array()
array(配列 , dtype )
# array() a1 = np.array([5,4,3,2,1] ,dtype='f') a1
結果:
# array([5., 4., 3., 2., 1.], dtype=float32)
arange()
連続したnumpy配列の生成、
arange(start, stop, step )
# a1= np.arange(10) print(len(a1)) a1
結果:
# 10 array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
配列数は、10個できました。
# a1= np.arange(10 ,20 ,0.2 ) print(len(a1)) print(a1)
結果:
50 [10. 10.2 10.4 10.6 10.8 11. 11.2 11.4 11.6 11.8 12. 12.2 12.4 12.6 12.8 13. 13.2 13.4 13.6 13.8 14. 14.2 14.4 14.6 14.8 15. 15.2 15.4 15.6 15.8 16. 16.2 16.4 16.6 16.8 17. 17.2 17.4 17.6 17.8 18. 18.2 18.4 18.6 18.8 19. 19.2 19.4 19.6 19.8]
stepを指定すると、各step幅を指定する事ができます。
配列数は、50個できました。
linspace()
# #linspace(start, stop ,num , endpoint=True ) a2 =np.linspace(0, 1, num=50, endpoint=True ) print(len(a2) ) a2
結果:
# 20 array([0. , 0.05263158, 0.10526316, 0.15789474, 0.21052632, 0.26315789, 0.31578947, 0.36842105, 0.42105263, 0.47368421, 0.52631579, 0.57894737, 0.63157895, 0.68421053, 0.73684211, 0.78947368, 0.84210526, 0.89473684, 0.94736842, 1. ])
numを指定すると、start -stop間の周波数を指定できます。
配列数は、20個できました
zeros()
zeros(shape, dtype )
0 で埋めた配列が作成できます。
a3 = np.zeros(5)
a3
結果:
array([0., 0., 0., 0., 0.])
shapeを、2行にしてみます。
a3 = np.zeros((2,3), dtype='f') a3
結果:
array([[0., 0., 0.], [0., 0., 0.]], dtype=float32)
ones()
ones(shape, dtype )
1 で埋めた配列が作成できます。
a4 = np.ones(5)
a4
結果:
array([1., 1., 1., 1., 1.])
shapeを、2行指定してみます。
a4 = np.ones((2,3), dtype='f') a4
結果:
array([[1., 1., 1.], [1., 1., 1.]], dtype=float32)
2行の配列ができました。