データ分析実践
初級問題チェック

問題 25 /40

欠損値に関して、誤った結果はどれか。

選択 1

pd.Series([1, None, 2]).dtype ▶︎ float64

選択 2

np.nan == np.nan ▶︎ False

選択 3

pd.Series([1, None, 2]).sum() ▶︎ 3.0

選択 4

pd.Series([1, None, 2]).cusum(skipna=False) ▶︎ 0 1.0 1 NaN 2 3.0

解説

選択肢4が正解です。 【選択肢1】 pd.Series([1, None, 2]).dtype ▶︎ float64 正しい結果です。 int型やbool型のデータに欠損値が含まれていると、自動でfloat型に型変換されます。 【選択肢2】 np.nan == np.nan ▶︎ False 正しい結果です。 NaN同士の比較演算はFalseが返ります。 【選択肢3】 pd.Series([1, None, 2]).sum() ▶︎ 3.0 正しい結果です。 データを集計する場合、欠損値は0として扱われます。 skipna=Falseの引数をつけると、NaNをNaNとして扱います。NaNを含む四則演算はNaNが返ります。 pd.Series([1, None, 2]).sum(skipna=False) ▶︎ nan 【選択肢4】 pd.Series([1, None, 2]).cusum(skipna=False) ▶︎ 0 1.0 1 NaN 2 3.0 誤った結果です。 cumsumメソッドなどの累積演算は、欠損値によって累積演算がリセットされることを防ぐため、デフォルトでNaNを無視します。 pd.Series([1, None, 2]).cusum() ▶︎ 0 1.0 1 NaN 2 3.0 skipna=Falseの引数をつけると、NaNをNaNとして扱います。NaNを含む四則演算はNaNが返るため、NaN以降の結果はNaNになります。 pd.Series([1, None, 2]).cusum(skipna=False) ▶︎ 0 1.0 1 NaN 2 NaN (公式書籍 p.188-192)