Data Analysis

Pandas DataFrame’lerinde Değer Sıklıklarını Etkin Bir Şekilde Sayma

Spread the love

Pandas, veri analizi için güçlü bir Python kütüphanesidir ve sık yapılan görevlerden biri, bir DataFrame içindeki değerlerin sıklığını belirlemektir. Bu makale, değer sıklıklarını saymanın üç etkili yöntemini inceliyor: value_counts(), groupby().size() ve groupby().count(). Her yöntemi, güçlü ve zayıf yönlerini vurgulayarak ve açık örnekler vererek inceleyeceğiz.

İçerik Tablosu

Series.value_counts() Metodu

value_counts() metodu, tek bir sütunda (Seri) değerlerin sıklığını saymanın en basit ve en etkili yoludur. İndeksi benzersiz değerleri ve değerleri de sayılarını temsil eden, varsayılan olarak azalan sırada sıralanmış bir Seri döndürür. Bu, belirli bir sütundaki bireysel değerlerin sıklığına ihtiyacınız olduğunda idealdir.


import pandas as pd

data = {'Kategori': ['A', 'A', 'B', 'B', 'A', 'C', 'A']}
df = pd.DataFrame(data)

kategori_sayimlari = df['Kategori'].value_counts()
print(kategori_sayimlari)

Çıktı:


A    4
B    2
C    1
Name: Kategori, dtype: int64

df.groupby().size() Metodu

groupby().size() metodu, DataFrame’i gruplandırdıktan sonra her grubun boyutunu (satır sayısını) sağlar. groupby().count()‘tan farklı olarak, diğer sütunlardaki eksik değerlerden etkilenmez; sadece her gruptaki satırları sayar. Bu, grup oluşumlarının basit bir sayımını elde etmek için mükemmeldir.


import pandas as pd

data = {'Kategori': ['A', 'A', 'B', 'B', 'A', 'C'],
        'Değer': [1, 2, 1, 1, 2, 3]}
df = pd.DataFrame(data)

kategori_sayimlari = df.groupby('Kategori').size()
print(kategori_sayimlari)

Çıktı:


Kategori
A    3
B    2
C    1
dtype: int64

df.groupby().count() Metodu

groupby().count() metodu çok yönlüdür ve birden çok sütunda sıklıkları saymanıza olanak tanır. DataFrame’i gruplandırır ve ardından *tüm* sütunlar için her gruptaki boş olmayan değerleri sayar. Bu, eksik verilerin sayıları etkileyeceği anlamına gelir. Birden çok sütunda sayıya ihtiyacınız olduğunda bu yöntemi kullanın, ancak eksik verilerden kaynaklanabilecek olası etkiye dikkat edin.


import pandas as pd

data = {'Kategori': ['A', 'A', 'B', 'B', 'A', 'C'],
        'Değer': [1, 2, 1, 1, 2, 3],
        'Değer2': [10, 20, 30, 40, 50, 60]}
df = pd.DataFrame(data)

# Tüm sütunlarda 'Kategori' oluşumlarını sayın
kategori_sayimlari = df.groupby('Kategori').count()
print(kategori_sayimlari)

#Tek bir sütuna odaklanma
kategori_sayimlari_deger = df.groupby('Kategori')['Değer'].count()
print(kategori_sayimlari_deger)

Çıktı:


         Değer  Değer2
Kategori                 
A            3       3
B            2       2
C            1       1

Kategori
A    3
B    2
C    1
Name: Değer, dtype: int64

Özetle, en iyi yöntem, belirli ihtiyaçlarınıza bağlıdır. value_counts() tek sütunlar için, groupby().size() basit grup sayımları için ve groupby().count() eksik değerlerin dikkatli bir şekilde ele alınmasını gerektiren, birden çok sütunu içeren daha karmaşık senaryolar için en iyisidir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir