Pandalar: benzersiz değerler nasıl bulunur ve nan nasıl göz ardı edilir
Pandalarda benzersiz değerler aramak ve NaN değerlerini yok saymak için aşağıdaki özel işlevi tanımlayabilirsiniz:
def unique_no_nan(x): return x. dropna (). single ()
Bu işlev, NaN değerleri dışında her benzersiz değeri içeren bir panda serisi döndürecektir.
Aşağıdaki örnekler, bu işlevin aşağıdaki pandalar DataFrame ile farklı senaryolarda nasıl kullanılacağını gösterir:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Mavs', 'Celtics', 'Celtics', 'Celtics'], ' points ': [95, 95, 100, 113, 100, np.nan]}) #view DataFrame print (df) team points 0 Mavs 95.0 1 Mavs 95.0 2 Mavs 100.0 3 Celtics 113.0 4 Celtics 100.0 5 Celtics NaN
Örnek 1: Pandalar Sütununda Benzersiz Değerler Bulun ve NaN Değerlerini Yoksayın
DataFrame’in puan sütunundaki tüm benzersiz değerleri görüntülemek için pandas Unique() işlevini kullandığımızı varsayalım:
#display unique values in 'points' column df[' points ']. single () array([ 95., 100., 113., no])
Unique() fonksiyonunun varsayılan olarak sonuçlara nan’ı dahil ettiğini unutmayın.
Ancak bunun yerine, benzersiz değerleri puan sütununda görüntülemek için özel benzersiz_no_nan() işlevimizi kullandığımızı varsayalım:
#display unique values in 'points' column and ignore NaN unique_no_nan(df[' points ']) array([ 95., 100., 113.])
Fonksiyonumuz, NaN hariç, puan sütunundaki her benzersiz değeri döndürür.
Örnek 2: Pandas Groupby’de benzersiz değerler bulun ve NaN değerlerini göz ardı edin
Puan sütunundaki tüm benzersiz değerleri ekip sütununa göre gruplandırılmış olarak görüntülemek için pandas groupby() ve agg() işlevlerini kullandığımızı varsayalım:
#display unique values in 'points' column grouped by team df. groupby (' team ')[' points ']. agg ([' single ']) unique team Celtics [113.0, 100.0, nah] Mavs [95.0, 100.0]
Unique() fonksiyonunun varsayılan olarak sonuçlara nan’ı dahil ettiğini unutmayın.
Ancak bunun yerine, puan sütunundaki benzersiz değerleri ekip sütununa göre gruplandırılmış olarak görüntülemek için özel benzersiz_no_nan() işlevimizi kullandığımızı varsayalım:
#display unique values in 'points' column grouped by team and ignore NaN df. groupby (' team ')[' points ']. apply ( lambda x: unique_no_nan(x)) team Celtics [113.0, 100.0] Mavs [95.0, 100.0] Name: points, dtype: object
Fonksiyonumuz, NaN değerlerini saymadan, her takım için puan sütunundaki her benzersiz değeri döndürür.
Ek kaynaklar
Aşağıdaki eğitimlerde pandalarda diğer ortak işlevlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandalar: DataFrame’de tek satırlar nasıl seçilir
Pandalar: Dizin sütunundan benzersiz değerler nasıl alınır?
Pandalar: iki sütunun benzersiz kombinasyonlarının nasıl sayılacağı