Cara memilih baris tanpa nilai nan di pandas
Anda dapat menggunakan metode berikut untuk memilih baris tanpa nilai NaN di panda:
Metode 1: Pilih baris tanpa nilai NaN di semua kolom
df[~df. isnull (). any (axis= 1 )]
Metode 2: Pilih baris tanpa nilai NaN di kolom tertentu
df[~df[' this_column ']. isna ()]
Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan pandas DataFrame berikut:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G'], ' points ': [np.nan, 12, 15, 25, np.nan, 22, 30], ' assists ': [4, np.nan, 5, 9, 12, 14, 10]}) #view DataFrame print (df) team points assists 0 A NaN 4.0 1 B 12.0 NaN 2C 15.0 5.0 3D 25.0 9.0 4 E NaN 12.0 5F 22.0 14.0 6G 30.0 10.0
Contoh 1: Pilih baris tanpa nilai NaN di semua kolom
Kita dapat menggunakan sintaks berikut untuk memilih baris tanpa nilai NaN di setiap kolom DataFrame:
#create new DataFrame that only contains rows without NaNs no_nans = df[~df. isnull (). any (axis= 1 )] #view results print (no_nans) team points assists 2C 15.0 5.0 3D 25.0 9.0 5F 22.0 14.0 6G 30.0 10.0
Perhatikan bahwa setiap baris DataFrame yang dihasilkan tidak berisi nilai NaN apa pun di kolom mana pun.
Contoh 2: Pilih baris tanpa nilai NaN di kolom tertentu
Kita dapat menggunakan sintaks berikut untuk memilih baris tanpa nilai NaN di kolom poin DataFrame:
#create new DataFrame that only contains rows without NaNs in points column no_points_nans = df[~df[' points ']. isna ()] #view results print (no_points_nans) team points assists 1 B 12.0 NaN 2C 15.0 5.0 3D 25.0 9.0 5F 22.0 14.0 6G 30.0 10.0
Perhatikan bahwa setiap baris DataFrame yang dihasilkan tidak berisi nilai NaN di kolom poin .
Ada baris dengan nilai NaN di kolom Assists , namun baris tersebut dipertahankan di DataFrame karena nilai di kolom Poin baris tersebut bukan NaN.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di panda:
Pandas: Cara menghapus baris dengan nilai NaN
Pandas: cara mengganti nilai NaN dengan string
Pandas: cara mengisi nilai NaN dengan rata-rata