プログラミング

DataFrame型のmeanはnanをどうやって処理する?

DataFrame型のmeanはnanをどうやって処理する?

rollingとかを使うとどうしても、nanが入ってしまいます。

仕方ありません。そんなときの処理の方法で困らないための方法です。

numpyの場合

np.mean()や、a.mean()

を使うと、1つでもnanが入っていた場合、出力がnanになってしまします。

それを防ぐために、np.nanmean() が用意されています。

np.nanmean() を使えば、nanをはじいた状態で平均値の計算をしてくれます。

pandasの場合

DataFrame型を扱う際にお世話になると思います。

pandasでは、df.mean() で平均を計算してくれます。

 

なので、今回はその挙動を調べました。

今回はこのliftというDataFrameを使用します。

index = [:28]までがNaNを含んでいます。それ以降は全てfloatの変数が入っています。

NaNの部分を排除して計算する場合

print(lift.dropna(subset=["lift"]).shape)
lift.dropna(subset=["lift"]).mean()
(103, 7)
lift                0.764410
 trans_ab          10.000000
trans_a+trans_b    55.747573
trans_a            20.932039
trans_b            34.815534
a                   0.805825
b                   1.349515
dtype: float64

 

これは、問題無いと思います。

NaNの部分を何もせずに計算をする場合

print(lift.shape)
lift.mean()
(130, 7)
lift                0.764410
 trans_ab          10.000000
trans_a+trans_b    55.747573
trans_a            20.932039
trans_b            34.815534
a                   0.792308
b                   1.284615
dtype: float64

 

先ほどと全く同じになりました!

つまり、pandasではNaNを自動的に排除して計算をしてくれるみたいです。

まとめ

細かい挙動を把握して、思い通りに操れるようになりたいです!

それでは、ハッピーpandasライフを!

オススメのプログラミングスクールをご紹介

タイピングもままならない完全にプログラミング初心者から

アホいぶきんぐ
アホいぶきんぐ
プログラミングってどこの国の言語なの~?

たった二ヶ月で

いぶきんぐ
いぶきんぐ
え!?人工知能めっちゃ簡単にできるじゃん!

応用も簡単にできる…!!

という状態になるまで、一気に成長させてくれたオススメのプログラミングスクールをご紹介します!

テックアカデミーのPython+AIコースを受講した僕が本音のレビュー・割引あり! というプログラミング完全初心者だった僕が Tech Academy(テックアカデミー)のPython×AIコース を二ヶ月間...

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です