Python Tips

pythonを利用する上で、便利な表記などの個人的なメモを残しておきます。

github

  • githubのjupyter notebook形式のファイルはこちら

google colaboratory

  • google colaboratory で実行する場合はこちら

筆者の環境

!sw_vers
ProductName:	Mac OS X
ProductVersion:	10.14.6
BuildVersion:	18G103
!python -V
Python 3.8.5
%matplotlib inline
%config InlineBackend.figure_format = 'svg'

import time
import json

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

import japanize_matplotlib

NaNがある配列の平均や標準偏差をとる

nanが含まれる配列の平均を計算する際、np.meanを利用するとnp.nanが返ってくる。 これは不便なので、np.nanを除いた上で、平均や標準偏差を計算する事ができるnp.nanmeannp.nanstdが便利。

a = np.array([i for i in range(5)])
a = np.append(a, np.nan)
a = np.append(a, np.nan)
a = np.append(a, np.nan)
a
array([ 0.,  1.,  2.,  3.,  4., nan, nan, nan])
b = np.array([i for i in range(5)])
np.nanmean(a) == np.nanmean(b)
np.nanmean(a)
2.0

結果は同じ事が分かる。

np.nanstd(a) == np.nanstd(b)
np.nanstd(a)
1.4142135623730951

標準偏差も同様に結果は同じ事が分かる。

最大や最小

maxやminも同様に計算できる。

a
array([ 0.,  1.,  2.,  3.,  4., nan, nan, nan])
np.nanmax(a)
4.0
np.nanmin(a)
0.0

とても便利!