RuntaScience diary

気象系データを扱う学生 旅が好きです

【Numpy】Python NumPy基礎編(配列:作成・リストから配列(逆も))

f:id:RuntaScience:20210101111423p:plain

 

こんにちは

今日はNumPyの基本的な使用方法について話していきたいと思います!

 

NumPyとは、Pythonでの数値計算ライブラリのこと。

tutorials.chainer.org

 

配列:作成

  • 連番配列を作成
  • 行列配列を作成
  • 同じ値の配列を作成

 

 

 

配列作成

 まずは配列の作成です。配列の作成は様々な目的があると思います。

今回は、

  • ベクトル・n×m行列の作成
  • 同じ値の配列作成ーすべて0・すべて任意の値・すべてnan

を紹介します。

np.arange()

np.arange()では連番のベクトルが作成できます。

np.arange(配列のサイズ)

もしくは

np.arange(開始の数字, 終了の数字, 間隔)

で表されます。

 

np.arange(9)
>>>array([0, 1, 2, 3, 4, 5, 6, 7, 8])

 

np.arange(0, 10, 2)
>>>array([0, 2, 4, 6, 8])

 

np.arange()で行列を作成したい場合は、後ろに.reshape(n×m)をつけ足します。

 

np.arange(9).reshape(3,3)
>>>array([[0, 1, 2],
          [3, 4, 5],
          [6, 7, 8]])

 

 

np.zeros_like()とnp.zeros()

 np.zeros_like()とnp.zeros()はどちらとも0の配列を返しますが、

前者は元の配列を0に変えるもの、後者は0の配列を新しく作るものです

 

f:id:RuntaScience:20210101110553p:plain

x = np.arange(0, 10, 2)
np.zeros_like(x)
>>>[0 0 0 0 0]

 

print(np.zeros(5))
print(np.zeros((2,5)))
>>>[0. 0. 0. 0. 0.]
>>>[[0. 0. 0. 0. 0.]
    [0. 0. 0. 0. 0.]]

※行列はかっこを2つ付けることに注意してください。

 

np.full_like()

 np.full_like()では任意の数字の配列を作成することが可能です。

f:id:RuntaScience:20210101110744p:plain

任意の数字を第2引数に渡す

np.full_like(x, 5)
>>>array([5, 5, 5, 5, 5])

 nanにしたい場合は必ずdtype=np.doubleに指定

print(np.full_like(v, np.nan))
print(np.full_like(v, np.nan, dtype=np.double)) # dtypeが必要
>>>[-2147483648 -2147483648 -2147483648 -2147483648 -2147483648]
>>>[nan nan nan nan nan]

 

 

配列(array)⇄リスト(list)

 配列とリストは混同しやすいです。リストと同じように配列を作業しようとするとエラーが出たりするため、それぞれの型変更の方法を覚えておくと良いでしょう

 

f:id:RuntaScience:20210101112137p:plain

a_list = [0,1,2,3,4,5]
x = np.arange(0, 10, 2)
リスト⇒配列「np.array()」
np.array(a_list)
>>>array([0, 1, 2, 3, 4, 5])

 

配列⇒リスト「np.tolist()」
x.tolist()
>>>[0, 2, 4, 6, 8]

 

それでは🌏

 

 最終更新日

2021/01/01

runtascience.hatenablog.com