Pandas でセルが空かどうかを確認する
有用な情報を比較、結合、または抽出する必要がある場合、空のデータは良くないため、それらが存在するかどうかを知ることが重要です。
CSV データをデータフレームとして Pandas にロードすると、各データはセル内に存在し、空のセルはすべて空のデータを表します。 この記事では、Pandas でセルが空かどうかを確認するために使用できる 3つのアプローチを紹介します。
isnull()
関数を使用してセルが空かどうかを確認する
関数の動作を紹介するために、いくつかの空のセル内に Pandas データフレームを作成します。
コード:
import pandas as pd
import numpy as np
df = pd.DataFrame([[1, 2, 3], [3, 4], [3, 4, 5, 6]], columns=list("ABCD"))
print(df)
出力:
A B C D
0 1 2 3.0 NaN
1 3 4 NaN NaN
2 3 4 5.0 6.0
空のセルが 3つあるデータフレームができたので、NaN
、None
、または NaT
の配列のようなオブジェクトの欠損値を見つけるように設計された isnull()
関数 で遊ぶことができます。 - 欠損値が存在するかどうかを示す Boolean
値を返します。 データフレーム全体、特定の列、または特定のセルに isnull()
関数を適用できます。
データフレームまたは特定の列をチェックするには、データフレームを引数として渡します。
print(pd.isnull(df))
print(pd.isnull(df["C"]))
出力:
A B C D
0 False False False True
1 False False True True
2 False False False False
0 False
1 True
2 False
Name: C, dtype: bool
データフレームは、空の値があるかどうかを示すブール値で表示されます。ここで、False
は空でない値を意味し、True
は空の値を意味します。
しかし、セルが空かどうかをチェックすることにもっと関心がある場合は、isnull()
メソッドと組み合わせて loc
および iloc
メソッドを使用できます。
セル (NaN
を保持する列 C
のインデックス 1
) をチェックしたい場合、次のコードは選択してチェックを行うのに適しています。
コード:
print(pd.isnull(df.loc[1, "C"]))
print(pd.isnull(df["C"].iloc[1]))
出力:
True
True
any
() 関数を使用してセルが空かどうかを確認する
データフレーム全体のセルが空かどうかを確認できる別の関数は、any
() 関数 です。 1つのセルが空である限り、この関数は True
を返し、それ以外の場合は False
を返します。
それを機能させるには、isnull()
関数と values
プロパティを使用する必要があります。
前のセクションと同じデータフレームを使用して、次のコードはデータフレームで isnull
() 関数を使用し、空であることを示すブール値のみを含み、ブール値は values
プロパティを介してアクセスできます。 any()
関数。
コード:
print(df.isnull().values.any())
出力:
True
isnan
関数を使用してセルが空かどうかを確認する
index
および apply()
関数とテスト numpy.isnan
を使用して、列のセルが空のインデックスをリストに格納できます。
列を選択し、index
関数を使用してこれを実現します。 index
メソッド内で、同じ列を再度選択して apply()
関数とテスト numpy.isnan
を使用します。
これらは list()
関数に渡されます。
コード:
list(df["D"].index[df["D"].apply(np.isnan)])
出力:
[0, 1]
これにより、列 D
内の空のセルのインデックス (0
と 1
) が得られます。
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedIn