pandasの「isnull()」「any()」「axis」で欠損値を確認してみる
pandasの「isnull()」「any()」で欠損値を確認してみる
欠損値を確認する時に「isnull()」が使えるみたいなので試してみます。
#データ用意
fruits = [
{'item': 'apple', 'price': 200, 'stock': 20, 'country': 'japan', 'date':202001},
{'item': 'orange', 'price': 300, 'stock': 30, 'country': 'japan', 'date':202001},
{'item': 'banana', 'price': 150, 'stock': 40, 'country': 'japan', 'date':202001},
{'item': 'apple', 'price': 200, 'stock': 20, 'country': 'japan', 'date':202002},
{'item': 'orange', 'price': 400, 'stock': 28, 'country': 'japan', 'date':202002},
{'item': 'banana', 'price': 100, 'stock': 45, 'country': 'japan', 'date':202002},
{'item': 'apple', 'price': 200, 'stock': 20, 'country': 'japan', 'date':202003},
{'item': 'orange', 'price': 500, 'stock': 22, 'country': 'japan', 'date':202003},
{'item': 'banana', 'price': 50, 'stock': None, 'country': 'japan', 'date':202003},
]
#データフレーム化
df = pd.DataFrame(fruits)
# print(df)
# item price stock country date
# 0 apple 200 20.0 japan 202001
# 1 orange 300 30.0 japan 202001
# 2 banana 150 40.0 japan 202001
# 3 apple 200 20.0 japan 202002
# 4 orange 400 28.0 japan 202002
# 5 banana 100 45.0 japan 202002
# 6 apple 200 20.0 japan 202003
# 7 orange 500 22.0 japan 202003
# 8 banana 50 NaN japan 202003
isnull = df.isnull()
# print(isnull)
# item price stock country date
# 0 False False False False False
# 1 False False False False False
# 2 False False False False False
# 3 False False False False False
# 4 False False False False False
# 5 False False False False False
# 6 False False False False False
# 7 False False False False False
# 8 False False True False False
isnull_any = df.isnull().any()
# print(isnull_any)
# item False
# price False
# stock True
# country False
# date False
# dtype: bool
isnull_any_axis0 = df.isnull().any(axis=0)
# print(isnull_any_axis0)
# item False
# price False
# stock True
# country False
# date False
# dtype: bool
isnull_any_axis1 = df.isnull().any(axis=1)
# print(isnull_any_axis1)
# 0 False
# 1 False
# 2 False
# 3 False
# 4 False
# 5 False
# 6 False
# 7 False
# 8 True
「isnull()」で欠損値の確認、「any()」で列に一つでも欠損値があればTrue(デフォルトはaxis=0)、「axis=1」で行に一つでも欠損値があればFalseを返すみたいですね。
ディスカッション
コメント一覧
まだ、コメントがありません