Python Tips

I’ll leave some personal notes on useful notations when using python.

github

  • The file in jupyter notebook format on github is here.

google colaboratory

  • To run it in google colaboratory here

Author’s environment

sw_vers
ProductName: Mac OS X
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

Take the mean and standard deviation of an array with NaN

When calculating the mean of an array with NaN, using np.mean will return np.nan. This is inconvenient, so np.nanmean and np.nanstd are useful to calculate the mean and standard deviation without np.nan.

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

We see that the result is the same.

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

We can see that the result is the same for the standard deviation as well.

Maximum and minimum

We can calculate max and min in the same way.

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

Very useful!