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?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir