機械学習/Pythonでデータ分析する次の一歩(数値計算ライブラリー、NumPy編)
をテンプレートにして作成
開始行:
*目次 [#zad8b254]
#contents
*はじめに [#z5904347]
NumPyは、数値計算のためのライブラリーです。
機械学習のためのライブラリーであるscikit-learnはNumPyを使...
参考書としては、次の本がオススメです。
#html{{
<iframe style="width:120px;height:240px;" marginwidth="0"...
}}
*配列 [#n8b92d54]
NumPyの基本は、''配列''です。
NumPyの配列は、''numpy.ndarrayクラス''で表されます。
n次元配列 (n-dimensional array) という意味です。
*配列を作る [#u04a1960]
配列は、numpy.arrayで作ります。
#geshi(python){{
import numpy as np
a = np.array([1, 2 ,3, 4, 5, 6, 7, 8])
a
}}
#geshi(txt){{
array([1, 2, 3, 4, 5, 6, 7, 8])
}}
*配列の要素数を調べる [#p1e4c34d]
配列の要素数は、ndarrayオブジェクトの''shape属性''に格納...
#geshi(python){{
a.shape
}}
#geshi(txt){{
(8,)
}}
ndarrayオブジェクトのshape属性はタプルなので、数値で取り...
#geshi(python){{
a.shape[0]
}}
#geshi(txt){{
8
}}
*配列の形を変える [#ec3c0207]
配列の形を変える(例えば、全体の要素数を変えないで二次元...
numpy.reshape関数の場合は、次のようにします。
#geshi(python){{
np.reshape(a, (2, 4))
}}
#geshi(txt){{
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
}}
numpy.ndarrayオブジェクトのreshape関数の場合は、次のよう...
#geshi(python){{
a.reshape((4, 2))
}}
#geshi(txt){{
array([[1, 2],
[3, 4],
[5, 6],
[7, 8]])
}}
三次元配列にもできます。
#geshi(python){{
np.reshape(a, (2, 2, 2))
}}
#geshi(txt){{
array([[[1, 2],
[3, 4]],
[[5, 6],
[7, 8]]])
}}
要素数が合わないと、エラーになります。
#geshi(python){{
a.reshape((4, 1))
}}
#geshi(txt){{
---------------------------------------------------------...
ValueError Traceback (most...
<ipython-input-19-7c07ecbec7bf> in <module>()
----> 1 a.reshape((4, 1))
ValueError: cannot reshape array of size 8 into shape (4,1)
}}
要素数に-1を指定すると、配列全体のサイズに合わせて調整し...
#geshi(python){{
a.reshape((4, -1))
}}
#geshi(txt){{
array([[1, 2],
[3, 4],
[5, 6],
[7, 8]])
}}
*二次元配列の要素を取り出す [#w9406008]
説明のため、二次元配列を用意します。
#geshi(python){{
m = a.reshape((2, -1))
m
}}
#geshi(txt){{
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
}}
要素を取り出すには、取り出したい要素の行番号と列番号を指...
#geshi(python){{
m[0, 1]
}}
#geshi(txt){{
2
}}
*二次元配列の行を取り出す [#dee1f720]
行を取り出すには、行番号に取り出したい行の行番号を指定し...
#geshi(python){{
m[0, :]
}}
#geshi(txt){{
array([1, 2, 3, 4])
}}
*二次元配列の列を取り出す [#m413d6ec]
列を取り出すには、行番号に全てを表す : を指定し、列番号に...
#geshi(python){{
m[:, 1]
}}
#geshi(txt){{
array([2, 6])
}}
*二次元配列に行を追加する [#iceadf2e]
行を追加するには、''np.vstack関数''に、同じ列数の二次元配...
#geshi(python){{
np.vstack((m, m, m))
}}
#geshi(txt){{
array([[1, 2, 3, 4],
[5, 6, 7, 8],
[1, 2, 3, 4],
[5, 6, 7, 8],
[1, 2, 3, 4],
[5, 6, 7, 8]])
}}
*二次元配列に列を追加する [#b1fbb5a5]
列を追加するには、''np.hstack関数''に、同じ行数の二次元配...
#geshi(python){{
np.hstack((m, m, m))
}}
#geshi(txt){{
array([[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4],
[5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8]])
}}
終了行:
*目次 [#zad8b254]
#contents
*はじめに [#z5904347]
NumPyは、数値計算のためのライブラリーです。
機械学習のためのライブラリーであるscikit-learnはNumPyを使...
参考書としては、次の本がオススメです。
#html{{
<iframe style="width:120px;height:240px;" marginwidth="0"...
}}
*配列 [#n8b92d54]
NumPyの基本は、''配列''です。
NumPyの配列は、''numpy.ndarrayクラス''で表されます。
n次元配列 (n-dimensional array) という意味です。
*配列を作る [#u04a1960]
配列は、numpy.arrayで作ります。
#geshi(python){{
import numpy as np
a = np.array([1, 2 ,3, 4, 5, 6, 7, 8])
a
}}
#geshi(txt){{
array([1, 2, 3, 4, 5, 6, 7, 8])
}}
*配列の要素数を調べる [#p1e4c34d]
配列の要素数は、ndarrayオブジェクトの''shape属性''に格納...
#geshi(python){{
a.shape
}}
#geshi(txt){{
(8,)
}}
ndarrayオブジェクトのshape属性はタプルなので、数値で取り...
#geshi(python){{
a.shape[0]
}}
#geshi(txt){{
8
}}
*配列の形を変える [#ec3c0207]
配列の形を変える(例えば、全体の要素数を変えないで二次元...
numpy.reshape関数の場合は、次のようにします。
#geshi(python){{
np.reshape(a, (2, 4))
}}
#geshi(txt){{
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
}}
numpy.ndarrayオブジェクトのreshape関数の場合は、次のよう...
#geshi(python){{
a.reshape((4, 2))
}}
#geshi(txt){{
array([[1, 2],
[3, 4],
[5, 6],
[7, 8]])
}}
三次元配列にもできます。
#geshi(python){{
np.reshape(a, (2, 2, 2))
}}
#geshi(txt){{
array([[[1, 2],
[3, 4]],
[[5, 6],
[7, 8]]])
}}
要素数が合わないと、エラーになります。
#geshi(python){{
a.reshape((4, 1))
}}
#geshi(txt){{
---------------------------------------------------------...
ValueError Traceback (most...
<ipython-input-19-7c07ecbec7bf> in <module>()
----> 1 a.reshape((4, 1))
ValueError: cannot reshape array of size 8 into shape (4,1)
}}
要素数に-1を指定すると、配列全体のサイズに合わせて調整し...
#geshi(python){{
a.reshape((4, -1))
}}
#geshi(txt){{
array([[1, 2],
[3, 4],
[5, 6],
[7, 8]])
}}
*二次元配列の要素を取り出す [#w9406008]
説明のため、二次元配列を用意します。
#geshi(python){{
m = a.reshape((2, -1))
m
}}
#geshi(txt){{
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
}}
要素を取り出すには、取り出したい要素の行番号と列番号を指...
#geshi(python){{
m[0, 1]
}}
#geshi(txt){{
2
}}
*二次元配列の行を取り出す [#dee1f720]
行を取り出すには、行番号に取り出したい行の行番号を指定し...
#geshi(python){{
m[0, :]
}}
#geshi(txt){{
array([1, 2, 3, 4])
}}
*二次元配列の列を取り出す [#m413d6ec]
列を取り出すには、行番号に全てを表す : を指定し、列番号に...
#geshi(python){{
m[:, 1]
}}
#geshi(txt){{
array([2, 6])
}}
*二次元配列に行を追加する [#iceadf2e]
行を追加するには、''np.vstack関数''に、同じ列数の二次元配...
#geshi(python){{
np.vstack((m, m, m))
}}
#geshi(txt){{
array([[1, 2, 3, 4],
[5, 6, 7, 8],
[1, 2, 3, 4],
[5, 6, 7, 8],
[1, 2, 3, 4],
[5, 6, 7, 8]])
}}
*二次元配列に列を追加する [#b1fbb5a5]
列を追加するには、''np.hstack関数''に、同じ行数の二次元配...
#geshi(python){{
np.hstack((m, m, m))
}}
#geshi(txt){{
array([[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4],
[5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8]])
}}
ページ名: