Pandalar: thresh ile dropna() nasıl kullanılır?
Eksik değerleri içeren bir pandas DataFrame’deki satırları kaldırmak için dropna() işlevini kullanabilirsiniz.
Ayrıca, bir satırın veya sütunun DataFrame’de tutulması gereken NaN olmayan değerlerin minimum sayısını belirtmek için thresh argümanını kullanabilirsiniz.
Eşik argümanını pratikte kullanmanın en yaygın yolları şunlardır:
Yöntem 1: Yalnızca minimum sayıda NaN olmayan değere sahip satırları tutun
#only keep rows with at least 2 non-NaN values df. dropna (thresh= 2 )
Yöntem 2: Yalnızca minimum NaN olmayan değer yüzdesine sahip satırları tutun
#only keep rows with at least 70% non-NaN values df. dropna (thresh= 0.7 * len (df. columns ))
Yöntem 3: Yalnızca minimum sayıda NaN olmayan değere sahip sütunları tutun
#only keep columns with at least 6 non-NaN values df. dropna (thresh= 6 ,axis= 1 )
Yöntem 4: Yalnızca minimum NaN olmayan değer yüzdesine sahip sütunları tutun
#only keep columns with at least 70% non-NaN values df. dropna (thresh= 0.7 * len (df), axis= 1 )
Aşağıdaki örnekler, her yöntemin pratikte aşağıdaki pandalar DataFrame ile nasıl kullanılacağını gösterir:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, np.nan, 19, 14, 14, 11, 20, np.nan], ' assists ': [5, np.nan, np.nan, 9, np.nan, 9, 9, 4], ' rebounds ': [11, np.nan, 10, 6, 6, 5, 9, np.nan]}) #view DataFrame print (df) team points assists rebounds 0 A 18.0 5.0 11.0 1 B NaN NaN NaN 2 C 19.0 NaN 10.0 3D 14.0 9.0 6.0 4 E 14.0 NaN 6.0 5 F 11.0 9.0 5.0 6G 20.0 9.0 9.0 7H NaN 4.0 NaN
Örnek 1: Yalnızca minimum sayıda NaN olmayan değere sahip satırları tutun
DataFrame’de yalnızca en az 2 NaN olmayan değere sahip satırları tutmak için aşağıdaki sözdizimini kullanabiliriz:
#only keep rows with at least 2 non-NaN values df. dropna (thresh= 2 ) team points assists rebounds 0 A 18.0 5.0 11.0 2 C 19.0 NaN 10.0 3D 14.0 9.0 6.0 4 E 14.0 NaN 6.0 5 F 11.0 9.0 5.0 6G 20.0 9.0 9.0 7H NaN 4.0 NaN
Dizin konumu 1’deki satırın, satırın tamamında yalnızca bir NaN olmayan değere sahip olması nedeniyle kaldırıldığını unutmayın.
Örnek 2: Yalnızca minimum NaN olmayan değer yüzdesine sahip satırları tutun
Yalnızca en az %70’i NaN olmayan değerlere sahip olan satırları DataFrame’de tutmak için aşağıdaki sözdizimini kullanabiliriz:
#only keep rows with at least 70% non-NaN values df. dropna (thresh= 0.7 * len (df. columns )) team points assists rebounds 0 A 18.0 5.0 11.0 2 C 19.0 NaN 10.0 3D 14.0 9.0 6.0 4 E 14.0 NaN 6.0 5 F 11.0 9.0 5.0 6G 20.0 9.0 9.0
Dizin konumları 1 ve 7’deki satırların kaldırıldığını unutmayın, çünkü bu satırlar NaN olmayan değerler olarak değerlerin en az %70’ini içermemektedir.
Örnek 3: Yalnızca minimum sayıda NaN olmayan değere sahip sütunları tutun
DataFrame’de yalnızca en az 6 NaN olmayan değere sahip sütunları tutmak için aşağıdaki sözdizimini kullanabiliriz:
#only keep columns with at least 6 non-NaN values df. dropna (thresh= 6 ,axis= 1 ) team points rebounds 0 A 18.0 11.0 1 B NaN NaN 2 C 19.0 10.0 3D 14.0 6.0 4E 14.0 6.0 5 F 11.0 5.0 6G 20.0 9.0 7 H NaN NaN
Bu sütunda NaN olmayan en az 6 değer bulunmadığından “destekler” sütununun kaldırıldığını unutmayın.
Örnek 4: Yalnızca minimum NaN olmayan değer yüzdesine sahip sütunları tutun
Yalnızca en az %70’i NaN olmayan değerlere sahip olan sütunları DataFrame’de tutmak için aşağıdaki sözdizimini kullanabiliriz:
#only keep columns with at least 70% non-NaN values df. dropna (thresh= 0.7 * len (df), axis= 1 ) team points rebounds 0 A 18.0 11.0 1 B NaN NaN 2 C 19.0 10.0 3D 14.0 6.0 4E 14.0 6.0 5 F 11.0 5.0 6G 20.0 9.0 7 H NaN NaN
Bu sütun en az %70’i NaN olmayan değerler içermediğinden “destek” sütununun kaldırıldığını unutmayın.
Not : Pandas dropna() işlevinin tam belgelerini burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde pandalarda diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandalar: Dropna() kullanıldıktan sonra indeks nasıl sıfırlanır?
Pandalar: dropna()’nın belirli sütunlarla nasıl kullanılacağı
Pandalar: Birden çok koşula dayalı satırlar nasıl silinir?