<jupyter_start><jupyter_text>ndarrayの生成<jupyter_code>print('リストから変換')
l = [1,2,3,4]
print(np.array(l))

print('\n初期値1のndarray')
print(np.zeros(10))

print('\n初期値0のndarray')
print(np.ones((2,3)))

print('\n0から順番に並ぶ要素のndarray')
print(np.arange(15))

print('\nランダムのndarray')
print(np.random.randn(5))<jupyter_output>リストから変換
[1 2 3 4]

初期値1のndarray
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

初期値0のndarray
[[1. 1. 1.]
 [1. 1. 1.]]

0から順番に並ぶ要素のndarray
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14]

ランダムのndarray
[-0.27599973 -0.03141455 -0.79679084 -0.34204519 -0.5809345 ]<jupyter_text>次元、行数、列数<jupyter_code>array = np.zeros((2,3))

print('次元を確認')
print(array.ndim)

print('\n行数、列数を確認')
print(array.shape)

print('\n行列数を変更')
array = np.arange(15)
print(array)
print(array.shape)
array = array.reshape((3,5))
print(array)
print(array.shape)<jupyter_output>次元を確認
2

行数、列数を確認
(2, 3)

行列数を変更
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14]
(15,)
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]
(3, 5)<jupyter_text>Bool行列作成<jupyter_code>array = np.array([1,2,3,2,-1,3, -2])
print(array == 2)
print(array > 0)

print('\n要素の中に1つでもTrueがあるか')
print(array.any())
print('\n要素のすべてがTrueがどうか')
print(array.all())<jupyter_output>[False  True False  True False False False]
[ True  True  True  True False  True False]

要素の中に1つでもTrueがあるか
True

要素のすべてがTrueがどうか
True<jupyter_text>積、行列積、転置行列<jupyter_code>from numpy.linalg import inv

print('元の行列')
array = np.arange(15).reshape(3,5)
print(array)

print('\n単純な積')
print(2*array)

print('\n転置行列')
print(array.T)

print('\n行列積')
print(array.dot(array.T))
print(np.dot(array, array.T))

print('\n逆行列')
array = np.arange(9).reshape(3,3)
print(inv(array.T.dot(array)))<jupyter_output>元の行列
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]

単純な積
[[ 0  2  4  6  8]
 [10 12 14 16 18]
 [20 22 24 26 28]]

転置行列
[[ 0  5 10]
 [ 1  6 11]
 [ 2  7 12]
 [ 3  8 13]
 [ 4  9 14]]

行列積
[[ 30  80 130]
 [ 80 255 430]
 [130 430 730]]
[[ 30  80 130]
 [ 80 255 430]
 [130 430 730]]

逆行列
[[ 3.51843721e+13 -7.03687442e+13  3.51843721e+13]
 [-7.03687442e+13  1.40737488e+14 -7.03687442e+13]
 [ 3.51843721e+13 -7.03687442e+13  3.51843721e+13]]<jupyter_text>和、平均、標準偏差、分散<jupyter_code>print('元の行列')
array = np.arange(15).reshape(3,5)
print(array)

print('\n配列和')
print(array.sum())

print('\n平均')
print(array.mean())

print('\n標準偏差、分散')
print(array.std())
print(array.var())<jupyter_output>元の行列
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]

配列和
105

平均
7.0

標準偏差、分散
4.320493798938574
18.666666666666668<jupyter_text>ファイル入出力<jupyter_code>array = np.arange(15).reshape(3,5)
print(array)

print('\nファイル保存')
np.save('array', array)

print('\nファイル読み出し')
np.load('array.npy')<jupyter_output>[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]

ファイル保存

ファイル読み出し
{'fraction_non_alphanumeric': 0.1822125813449024, 'fraction_numerical': 0.1702819956616052, 'mean_word_length': 4.0677655677655675, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 20, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 1, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '257245', 'license': 'MIT', 'n_tokens_mistral': 1812, 'n_tokens_neox': 1576, 'n_words': 287, 'path': 'numpy_tutoerials.ipynb', 'repo_name': 'naonaorange/python_data_analysis_tutorials', 'size': '2766'}