例
f
rom numpy.random import randint
と最初に記述しておくと
randint()
のみで用いることができるようになる。
「from モジュール名 import そのモジュールの中にある関数名」
と一般化できる
例
f
rom numpy.random import randint
と最初に記述しておくと
randint()
のみで用いることができるようになる。
「from モジュール名 import そのモジュールの中にある関数名」
と一般化できる
Numpyではnumpy.random
モジュールで乱数を生成
代表的なnumpy.random
関数には、0以上1未満の一様乱数を生成するrand()
関数、
x以上y未満の整数をz個生成するrandint(x, y, z)
関数
ガウス分布に従う乱数を生成するnormal()
関数
from numpy.random import randint
と宣言すると
randint()だけで乱数呼び出し可能
例
import
numpy as np
from numpy.random import randint
# 変数arr1に各要素が0~10までの整数の行列(5×2)を代入
arr1= randint(0, 11,(5,2))
print (arr1)
# 変数arr2に0~1までの一様乱数を三つ代入してください
arr2 = np.random.rand(3)
print(arr2)
1 2 3 4 5 6 |
[[5 4] [8 0] [9 0] [1 2] [1 0]] [ 0.85530021 0.29996183 0.00284137] |
1次元配列を対象
配列要素から重複を取り除きソートした結果を返すunique()
関数、
配列xとyのうち少なくとも一方に存在する要素を取り出しソートするunion1d(x, y)
関数(和集合)、
配列xとyのうち共通する要素を取り出しソートするintersect1d(x, y)
関数(積集合)
配列xから配列yに存在する要素を取り除きソートするsetdiff1d(x, y)
関数(差集合)
例
import numpy as np
arr1 = [2, 5, 7, 9, 5, 2]
arr2 = [2, 5, 8, 3, 1]
# unique()関数を用いて重複をなくした配列を変数new_arr1に代入
new_arr1 = np.unique(arr1)#一つの配列内から重複を削る
print(new_arr1)
# 変数new_arr1と変数arr2の和集合を出力してください
print(np.union1d(new_arr1, arr2))#2つの配列のどちらかに存在する数値と共通する数字を1文字ずつ残す
#小さい順に並べられ、存在しない数字はスキップ
# 変数new_arr1と変数arr2の積集合を出力してください
print(np.intersect1d(new_arr1, arr2))#2つの配列の共通要素を出す
# 変数new_arr1から変数arr2を引いた差集合を出力してください
print(np.setdiff1d(new_arr1, arr2))#配列x,yのxとyに共通する要素を消して共通しないxの要素を残す
実行結果
1 2 3 4 |
[2 5 7 9] [1 2 3 5 7 8 9] [2 5] [7 9] |
要素の絶対値を返すabs()
関数、
要素の平方根を返すsqrt()
関数
要素のe(自然対数の底)のべき乗を返すexp()
関数
要素同士の和を返すadd()
関数、
要素同士の差を返すsubtract()
関数や要素同士の最大値を格納した配列を返す
maximum()
関数
import numpy as np
arr = np.array([4, -9, 16, -4, 20])
print(np.abs(arr))
# 変数arrの各要素を絶対値にし、変数arr_absに代入してください
arr_abs = np.abs(arr)
print(arr_abs)
# 変数arr_absの各要素のeのべき乗と平方根を出力してください
print(np.exp(arr_abs))
print(np.sqrt(arr_abs))
例
1 2 3 4 5 |
[ 4 9 16 4 20] [ 4 9 16 4 20] [ 5.45981500e+01 8.10308393e+03 8.88611052e+06 5.45981500e+01 4.85165195e+08] [ 2. 3. 4. 2. 4.47213595] |
import
numpy as np
arr = np.array([2, 3, 4, 5, 6, 7])
# 変数arrの各要素が2で割り切れるかどうかを示す真偽値の配列
print(arr % 2 == 0)
#[ True False True False True False]
# 変数arr各要素のうち2で割り切れる要素の配列
print(arr[arr%2==0])
※[2 4 6]
import
numpy as np
arr = np.arange(10)
print(arr)
# 変数arrの要素の内3, 4, 5だけを出力してください
print(arr[3:6])
# 変数arrの要素の内3, 4, 5を24に変更してください
arr[3:6] = 24
print(arr)