[pandasの使い方] 8. 欠損値(NaN, None)について

Pandas
スポンサーリンク

Series, DataFrameにおける欠損値(NaN, None)

pandasのSeries, DataFrameにおける欠損値(NaN, None)とは?

pandasのDataframeでの欠損値(NaN, None)は、np.arrayとは多少異なる点があるので、注意が必要。

NumPyにおけるNaN, None

np.arrayでNoneを含む配列のdtypeはobjectとなる。

Noneを含む配列は基本的に演算できず、#TypeError: unsupported operand type(s) for +: ‘int’ and ‘NoneType’というエラーが返ってくる。

一方、np.nanを含む配列は形式がfloat64となる。

np.nanを含む配列は演算結果がすべて、nanになる

nanを除外して演算を行いたい場合は、np.nansum()などを用いる必要がある。

Series, DataFrameにおけるNaN, None

pandasでは、NoneがNaNに変換される。

NaNの影響によるデータ型の変化

要素の一部をNaNに変化させた場合、データ型がint64からfloat64に変化する。これは、NaNが浮動小数点値として扱われているためであり、データ型のアップキャストが行われている。

同様にbool型の配列もNaNによる影響で、float64型となる。

参考

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

コメント