「nullではない」の使い方は?パンダで (例付き)


pandas notnull()関数を使用すると、pandas DataFrame の要素が null かどうかをテストできます。

要素が NaN または None に等しい場合、関数はFalseを返します。

それ以外の場合、関数はTrueを返します。

この関数を実際に使用する一般的な方法をいくつか示します。

方法 1: どの列にも null 値を含まない行をフィルターする

 df[df. notnull (). all ( 1 )]

方法 2: 特定の列に null 値を含まない行をフィルターする

 df[df[[' this_column ']]. notnull (). all ( 1 )]

方法 3: 各列のゼロ以外の値の数を数える

 df. notnull (). sum ()

方法 4: DataFrame 全体内のゼロ以外の値の数を数える

 df. notnull (). sum (). sum ()

次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, np.nan],
                   ' assists ': [5, np.nan, 7, 9, 12, 9, 9, np.nan],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, np.nan, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18.0 5.0 11.0
1 B 22.0 NaN 8.0
2 C 19.0 7.0 10.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 NaN
7 H NaN NaN 12.0

例 1: どの列にも null 値を含まない行をフィルターする

次のコードは、DataFrame をフィルターして、どの列にも null 値を含まない行のみを表示する方法を示しています。

 #filter for rows with no null values in any column
df[df. notnull (). all ( 1 )]


        team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 7.0 10.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0

このフィルタリングされた DataFrame の各行のどの列にも null 値がないことに注意してください。

例 2: 特定の列に null 値を含まない行をフィルターする

次のコードは、ヘルパー列に null 値を含まない行のみを表示するように DataFrame をフィルターする方法を示しています。

 #filter for rows with no null values in the 'assists' column
df[df[[' assists ']]. notnull (). all ( 1 )]

	team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 7.0 10.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 NaN

このフィルタリングされた DataFrame の各行のHelper列に null 値がないことに注意してください。

例 3: 各列のゼロ以外の値の数を数える

次のコードは、DataFrame の各列のゼロ以外の値の数をカウントする方法を示しています。

 #count number of non-null values in each column
df. notnull (). sum ()

team 8
points 7
assists 6
rebounds 7
dtype: int64

結果から次のことがわかります。

  • チーム列には 8 つの非ゼロ値があります。
  • ポイント列には 7 つの非ゼロ値があります。
  • Assists列には 6 つのゼロ以外の値があります。
  • バウンス列には 7 つの非ゼロ値があります。

例 4: DataFrame 全体内のゼロ以外の値の数を数える

次のコードは、DataFrame 全体内のゼロ以外の値の数をカウントする方法を示しています。

 #count number of non-null values in entire DataFrame
df. notnull (). sum (). sum ()

28

出力から、DataFrame 全体に28 個の非ゼロ値があることがわかります。

追加リソース

次のチュートリアルでは、パンダで他の一般的なフィルタリング操作を実行する方法について説明します。

Pandas DataFrame を列値でフィルタリングする方法
Pandasで「を含まない」をフィルタリングする方法
複数の条件で Pandas DataFrame をフィルタリングする方法

コメントを追加する

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