numpy作成array【老魚学numpy】
3240 ワード
前の記事では、numpyでnumpyの配列を作成する方法について説明しました.ここで繰り返します.
実行後の出力:
pythonの配列とnumpyの配列が画面に出力される微細な違いを見ることができます.numpyの配列出力は行列に従って配列され、要素の後にカンマで区切られていないので、画面出力では行列を簡単に見ることができ、数学の行列の書式に近いです.
numpy配列を作成するときにdtypeを設定することで、配列内の要素のタイプを指定することもできます.たとえば、次のようにします.
numpy配列要素のタイプをfloatタイプとして定義し、出力は次のとおりです.
機械学習では、一般的に我々が定義する要素タイプは浮動小数点タイプnpである.floatと整数np.int.
ぜん0ぎょうれつ
3行4列すべて0のnumpy 2次元配列を出力します.
出力:
ぜん1はいれつ
全1の配列もよく使用されます.
出力:
例えば(3,4)pythonのメタグループタイプであり、本質的には配列であるが、配列とは異なる点では値が読み取り専用であり、メタグループの要素の値を変更できないことに気づくかもしれない.
0に近い配列を生成
出力:
np.Empty()は、0に近い乱数配列を生成するために使用される.
秩序化された数列または配列の生成
たとえば、10から20まで(終了値を除く)のステップ長が2の数列を生成します.
出力:
np.arang()はよく使われていますが、この関数を見てpythonのrange関数を連想させます.この2つの機能は似ています.まず例を見てみましょう.
出力:
ここでarangはarrayのrange関数として記憶できる.
配列の形状を変更する
numpy配列の形状は非常に重要であり,すなわち数行数列である.配列/行列演算を行うには、配列/行列がどのような形状であるかに常に注目しなければならない.例えば、配列/行列の加算、配列/行列のフォーク乗算には、その形状に相応する厳格な規定がある.配列/行列の形状を変えるためにnpを呼び出す必要がある場合がある.reshape()の関数です.例:
出力:
線分の生成
出力:
上記の文は、1から10までの合計20個の等間隔の数列を生成します.開始は1、終了は10で、合計20の等距離点があると想像できます.
import numpy as np
#
a = [[1, 2, 3], [4, 5, 6]]
print("a:", a)
#
b = np.array(a)
print("b:", b)
実行後の出力:
a: [[1, 2, 3], [4, 5, 6]]
b: [[1 2 3]
[4 5 6]]
pythonの配列とnumpyの配列が画面に出力される微細な違いを見ることができます.numpyの配列出力は行列に従って配列され、要素の後にカンマで区切られていないので、画面出力では行列を簡単に見ることができ、数学の行列の書式に近いです.
numpy配列を作成するときにdtypeを設定することで、配列内の要素のタイプを指定することもできます.たとえば、次のようにします.
import numpy as np
# python
a = [[1, 2, 3], [4, 5, 6]]
print("a:", a)
# numpy
b = np.array(a, dtype=np.float)
print("b:", b)
numpy配列要素のタイプをfloatタイプとして定義し、出力は次のとおりです.
a: [[1, 2, 3], [4, 5, 6]]
b: [[ 1. 2. 3.]
[ 4. 5. 6.]]
機械学習では、一般的に我々が定義する要素タイプは浮動小数点タイプnpである.floatと整数np.int.
ぜん0ぎょうれつ
3行4列すべて0のnumpy 2次元配列を出力します.
import numpy as np
a = np.zeros((3,4))
print(a)
出力:
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
ぜん1はいれつ
全1の配列もよく使用されます.
import numpy as np
a = np.ones((3, 4), dtype=np.float)
print(a)
出力:
[[ 1. 1. 1. 1.]
[ 1. 1. 1. 1.]
[ 1. 1. 1. 1.]]
例えば(3,4)pythonのメタグループタイプであり、本質的には配列であるが、配列とは異なる点では値が読み取り専用であり、メタグループの要素の値を変更できないことに気づくかもしれない.
0に近い配列を生成
import numpy as np
a = np.empty((3, 4), np.float)
print(a)
出力:
[[ 6.23042070e-307 3.56043053e-307 1.37961641e-306 2.22518251e-306]
[ 1.33511969e-306 1.24610383e-306 1.69118108e-306 8.06632139e-308]
[ 1.20160711e-306 1.69119330e-306 1.29062229e-306 1.29060531e-306]]
np.Empty()は、0に近い乱数配列を生成するために使用される.
秩序化された数列または配列の生成
たとえば、10から20まで(終了値を除く)のステップ長が2の数列を生成します.
import numpy as np
a = np.arange(10, 20, 2)
print(a)
出力:
[10 12 14 16 18]
np.arang()はよく使われていますが、この関数を見てpythonのrange関数を連想させます.この2つの機能は似ています.まず例を見てみましょう.
import numpy as np
# python range , list
a = range(10, 20, 2)
print("python range :", list(a))
# numpy arange python range
b = np.arange(10, 20, 2)
print("numpy arange:", b)
出力:
python range : [10, 12, 14, 16, 18]
numpy arange: [10 12 14 16 18]
ここでarangはarrayのrange関数として記憶できる.
配列の形状を変更する
numpy配列の形状は非常に重要であり,すなわち数行数列である.配列/行列演算を行うには、配列/行列がどのような形状であるかに常に注目しなければならない.例えば、配列/行列の加算、配列/行列のフォーク乗算には、その形状に相応する厳格な規定がある.配列/行列の形状を変えるためにnpを呼び出す必要がある場合がある.reshape()の関数です.例:
import numpy as np
a = np.arange(12).reshape(3, 4)
print(a)
出力:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
線分の生成
import numpy as np
a = np.linspace(1, 10, 20)
print(a)
出力:
[ 1. 1.47368421 1.94736842 2.42105263 2.89473684
3.36842105 3.84210526 4.31578947 4.78947368 5.26315789
5.73684211 6.21052632 6.68421053 7.15789474 7.63157895
8.10526316 8.57894737 9.05263158 9.52631579 10. ]
上記の文は、1から10までの合計20個の等間隔の数列を生成します.開始は1、終了は10で、合計20の等距離点があると想像できます.