0Pricing
Pandas & NumPy Academy · Ders

Yararlı Series Yöntemleri

Bir Series’i hızlıca özetlemek ve dönüştürmek için describe(), value_counts(), unique() ve map() işlevlerini kullanın.

Yararlı Series Yöntemleri, CoddyKit'te ücretsiz bir Pandas & NumPy Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Pandas & NumPy Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Pandas & NumPy Academy kursu toplamda 4 dersten oluşur.

describe() ile Hızlı Özet

s.describe(), tek bir çağrıyla istatistiksel bir özet oluşturur: sayı, ortalama, standart sapma, min, 25. yüzdelik dilim (Q1), medyan (Q2), 75. yüzdelik dilim (Q3) ve max. Dize Series için bunun yerine sayı, unique, en sık görülen değer ve sıklık döndürülür. Bir veri kümesini ilk kez incelerken bir sütunun dağılımı hakkında hızlıca fikir edinmenin en kolay yoludur.

import pandas as pd

ages = pd.Series([25, 32, 19, 45, 28, 31, 22, 40])
print(ages.describe())
# count     8.000000
# mean     30.250000
# std       8.406...
# min      19.000000
# 25%      24.250000
# 50%      29.500000
# 75%      34.750000
# max      45.000000

Frekans Tabloları için value_counts()

s.value_counts(), benzersiz değerleri dizin ve bu değerlerin görülme sayılarını veri olarak içeren yeni bir Series döndürür; sonuçlar sayıya göre azalan düzende sıralanır. Ham sayılar yerine oranları elde etmek için normalize=True aktarın. Kategorik bir sütunun dağılımını anlamak için çalıştırılacak ilk yöntem budur.

import pandas as pd

colors = pd.Series(['red', 'blue', 'red', 'green', 'blue', 'red'])
print(colors.value_counts())
# red      3
# blue     2
# green    1
print(colors.value_counts(normalize=True).round(2))
# red      0.50  blue  0.33  green  0.17

unique() ve nunique()

s.unique(), ilk görülme sırasındaki farklı değerleri içeren bir NumPy dizisi döndürür (value_counts sıklığa göre sıralama yaparken bu yöntem sıralama yapmaz). s.nunique(), farklı değerlerin sayısını tamsayı olarak döndürür; bu, sütunun kardinalitesidir. Her ikisi de varsayılan olarak NaN değerlerini atlar. NaN değerlerini farklı bir değer olarak saymak için nunique(dropna=False) kullanın.

import pandas as pd

s = pd.Series(['apple', 'banana', 'apple', 'cherry', 'banana'])
print(s.unique())    # ['apple' 'banana' 'cherry']
print(s.nunique())   # 3

Öğe Bazında Dönüşüm için map()

s.map(), her öğeye bir işlevi, sözlüğü veya başka bir Series'i uygular. Bir sözlük aktardığınızda her değer, sözlükteki karşılık gelen değerle değiştirilir; sözlükte bulunmayan değerler NaN olur. Bir işlev aktardığınızda işlev öğe bazında uygulanır. map, kategorik etiketleri yeniden kodlamak veya arama tabloları uygulamak için idealdir.

import pandas as pd

grades = pd.Series(['A', 'B', 'C', 'A', 'B'])
gpa = {'A': 4.0, 'B': 3.0, 'C': 2.0}
print(grades.map(gpa))
# 0    4.0
# 1    3.0
# 2    2.0
# 3    4.0
# 4    3.0

Özel İşlevler için apply()

s.apply(func), her öğeye çağrılabilir bir Python nesnesi uygular ve sonuçları toplar. map()'ten farklı olarak, skaler olmayan nesneler döndürebilen daha karmaşık işlevler için tasarlanmıştır. Basit öğe bazlı dönüşümlerde map() veya vektörleştirilmiş bir ifade kullanmayı tercih edin; mantığı doğrudan vektörleştirmek çok karmaşıksa apply() kullanın.

import pandas as pd

sentences = pd.Series(['Hello world', 'Pandas is great', 'Data science'])
word_counts = sentences.apply(lambda x: len(x.split()))
print(word_counts)
# 0    2
# 1    3
# 2    2

sort_values() ve sort_index()

s.sort_values(), veri değerlerine göre artan düzende sıralanmış Series'i döndürür (azalan düzen için ascending=False aktarın). s.sort_index(), dizin etiketlerine göre sıralama yapar. Varsayılan olarak bu iki yöntem de özgün Series'i değiştirmez. Yerinde değiştirmek için inplace=True aktarabilirsiniz; ancak işlemleri zincirleyen modern Pandas kodlarında bu yaklaşım daha az önerilir.

import pandas as pd

s = pd.Series([30, 10, 50, 20], index=['d', 'a', 'c', 'b'])
print(s.sort_values())
# a    10
# b    20
# d    30
# c    50
print(s.sort_index())
# a    10
# b    20
# c    50
# d    30

Üyelik Denetimi için isin()

s.isin(values), öğenin sağlanan liste veya kümede bulunduğu her konumda True olan bir boolean Series döndürür. Bu, birden çok | koşulu yazmaktan daha okunaklıdır ve büyük kümelerde belirgin biçimde daha hızlıdır. Belirli bir gruba ait satırları filtrelemek veya bir arama listesiyle eşleşen kayıtları işaretlemek için sıkça kullanılır.

import pandas as pd

countries = pd.Series(['DE', 'US', 'FR', 'UK', 'US', 'DE'])
nordics = ['DE', 'FR']
print(countries.isin(nordics))
# 0     True  1    False  2     True  3    False  4    False  5     True
print(countries[countries.isin(nordics)])

Aralık Filtreleme için between()

s.between(left, right, inclusive='both'), değerin [left, right] aralığında bulunduğu yerlerde True olan bir boolean Series döndürür. Her iki uç nokta da varsayılan olarak kapsanır. (s >= left) & (s <= right) yazmaktan daha kısadır ve amacı açıkça ifade eder. Yaş grupları veya fiyat aralıkları gibi sayısal aralıkları filtrelemek için kullanışlıdır.

import pandas as pd

scores = pd.Series([45, 72, 83, 91, 55, 68])
pass_mask = scores.between(60, 100)
print(pass_mask)
# 0    False  1    True  2    True  3    True  4    False  5    True
print(scores[pass_mask].values)  # [72 83 91 68]

Hızlı İnceleme için head() ve tail()

s.head(n), ilk n öğeyi (varsayılan olarak 5) döndürür; s.tail(n) ise son n öğeyi döndürür. Uzun bir Series'in binlerce satırını yazdırmadan başına ve sonuna göz atmak için verileri incelerken bu yöntemler sürekli kullanılır. Yeni bir Series (bir dilim) döndürdükleri için özgün veriyi değiştirmezler.

import pandas as pd

s = pd.Series(range(100))
print(s.head(3))
# 0    0
# 1    1
# 2    2
print(s.tail(3))
# 97    97
# 98    98
# 99    99

Adı Değiştirmek için rename()

s.rename('new_name'), farklı bir name özniteliğine sahip yeni bir Series döndürür. Dizin etiketlerini yeniden adlandırmak için bir sözlük veya işlev aktarın: s.rename(index={'old': 'new'}). Series'leri bir DataFrame içinde birleştirmeden önce yeniden adlandırmak önemlidir; çünkü Series'in name değeri sütun başlığı olur. Ham değerleri yeniden atamak yerine her zaman yeniden adlandırma yapın.

import pandas as pd

s = pd.Series([1, 2, 3], index=['a', 'b', 'c'], name='original')
renamed = s.rename('updated').rename(index={'a': 'x', 'b': 'y', 'c': 'z'})
print(renamed)
# x    1
# y    2
# z    3
# Name: updated

idxmin() ve idxmax()

s.idxmin(), en küçük değerin dizin etiketini; s.idxmax() ise en büyük değerin etiketini döndürür. Dizin; tarih veya ürün adı gibi anlamlı etiketlere sahip olduğunda bu yöntem argmin/argmax'tan daha kullanışlıdır; yalnızca konum numarasını değil, gerçek tanımlayıcıyı elde edersiniz.

import pandas as pd

scores = pd.Series({'Alice': 88, 'Bob': 73, 'Carol': 95, 'Dan': 60})
print('Best:', scores.idxmax(), scores.max())   # Carol 95
print('Worst:', scores.idxmin(), scores.min())  # Dan   60

Hızlı Kontrol

Bu derste öğrendiğiniz kullanışlı Series yöntemlerini ne kadar anladığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: describe() tek çağrıda istatistiksel bir özet sunar, value_counts() benzersiz değerlerin sıklık tablosunu oluşturur ve map() bir sözlük kullanarak değerleri dönüştürürken apply() her öğe üzerinde özel bir işlev çalıştırır. Sırada DataFrame'lerle çalışmaya başlıyoruz — Pandas veri analizinin iki boyutlu temel yapı taşı.

Sıkça Sorulan Sorular

“Yararlı Series Yöntemleri” dersi ücretsiz mi?

Evet — “Yararlı Series Yöntemleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Pandas & NumPy Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Pandas & NumPy Academy kursu toplamda 4 dersten oluşur.

“Yararlı Series Yöntemleri” dersinde ne öğreneceğim?

Bir Series’i hızlıca özetlemek ve dönüştürmek için describe(), value_counts(), unique() ve map() işlevlerini kullanın. Pandas & NumPy Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Pandas & NumPy Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Pandas & NumPy Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Yararlı Series Yöntemleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Pandas & NumPy Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Pandas & NumPy Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Series Oluşturma
  2. Etiket ve Konum Tabanlı Erişim
  3. Series Üzerinde Vektörleştirilmiş İşlemler
  4. Yararlı Series Yöntemleri
← Pandas & NumPy Academy Sayfasına Dön