Pythonで数値計算や信号処理をしていると,NumPy配列かどうか判別したいことがあります.
import numpy as np np_array = np.array([0, 1, 2]) type(np_array) #=> <class 'numpy.ndarray'> type(python_list) #=> <class 'list'>
以上の例から NumPy配列とPythonのリストオブジェクトは異なるため,if type(np_array) is list
では判別できません.
NumPy配列の判別の方法としては、例えば以下の3つの方法が使えます.
type(np_array).__module__ == np.__name__ #=> True type(np_array) == np.ndarray #type(np_array) is np.ndarray #=> True isinstance(np_array, np.ndarray) #=> True
元ネタ: