Numpyの練習:配列の生成と操作

練習1: 一維配列と二維配列の生成と形状の確認

import numpy as np
arr1 = np.array([1,2,'a','hello',[1,2,3],{'one':100,'two':200}])
arr2 = np.array([list(range(6)), list('abcdef'), [True, False, True, False, True, True]])

print(arr1, '\narr1のshape:', arr1.shape, '\n-------')
print(arr2, '\narr2のshape:', arr2.shape, '\n-------')

練習2: 起点が5、終点が15、サンプル数が10の一次元配列の生成

print(np.arange(5, 15))

練習3: 指定された配列の生成

print(np.zeros((4,4)), '\n-------')
print(np.ones((2,3)), '\n-------')
print(np.eye(3, dtype=int))

練習4: 20個の要素を持つ配列を作成し、形状を(4,5)と(5,6)に変更する

(ヒント: リサイズを使用)

arr = np.arange(20)
print(arr.reshape(4,5))
print('=' * 30)
print(np.resize(arr, (5,6)))

練習5: (4,4)の配列を作成し、その要素の型を文字列に変更する

arr1 = np.arange(16).reshape(4,4)
print(arr1.astype(str))

練習6: 配列を作成し、result = arr * 10 + 100 の計算を行い、結果の平均値と合計を求める

arr1 = np.arange(16).reshape(4,4)
print(arr1)
print('='*30)
print(arr1 * 10 + 100)
print('='*30)
result = arr1 * 10 + 100
print(result.mean())
print(result.sum())

練習7: 配列を作成し、arr[4]、arr[:2,3:]、arr[3][2]の値を取得する

arr = np.arange(25).reshape(5,5)
print(arr)
print('='*30)
print(arr[4], arr[:2,3:], arr[3][2])

練習8: 配列を作成し、要素が5より大きい値のみを取り出して新しい配列を作成する

arr = np.arange(10).reshape(2,5)
print(arr)
print('='*30)
print(arr[arr > 5])

練習9: 配列arrを作成し、arr[:2,:2]の値を[0,1)のランダムな数値に変更する

arr = np.arange(25, dtype=np.float32).reshape(5,5)
print(arr)
print('='*30)
arr[:2, :2] = np.random.rand(2,2)
print(arr)

練習10: 10個の要素を持つ正規分布の一維配列2つを作成する

arr1 = np.random.normal(size=(2,5))
arr2 = np.random.normal(size=(2,5))
print(arr1)
print(arr2)
print('結果:\n', np.vstack((arr1, arr2)))

練習11: 0-100の範囲で10x10の整数ランダム配列を作成し、テキストファイルに保存する

import os
os.chdir('C:/Users/Hjx/Desktop/')

arr = np.random.randint(100, size=(10,10))
print(arr, '\n--------')
np.savetxt('array.txt', arr, delimiter=',', fmt='%i')
print('完了!')

タグ: NumPy Python Array reshape random

6月18日 20:03 投稿