Series Oluşturma
Bir Python listesinden, sözlükten ve NumPy dizisinden Pandas Series oluşturun; dizin ve değerler özniteliklerini inceleyin.
Series Oluşturma, CoddyKit'te ücretsiz bir Pandas & NumPy Academy dersidir. Bu, 4 dersinin 1. 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.
Pandas Series Nedir?
Bir Pandas Series, her tür veriyi — tamsayıları, kayan noktalı sayıları, dizeleri, Python nesnelerini veya başka Series nesnelerini bile — tutabilen, tek boyutlu ve etiketli bir dizidir. Bunu, özel bir indexe (her öğenin etiketlerine) sahip bir NumPy dizisi gibi düşünebilirsiniz. Değerlerin açıklayıcı adlara ihtiyaç duyduğu veri analizi görevlerinde Series nesnelerini düz dizilerden çok daha güçlü yapan, index özelliğidir.
import pandas as pd
import numpy as np
s = pd.Series([10, 20, 30, 40])
print(s)
# 0 10
# 1 20
# 2 30
# 3 40
# dtype: int64Python Listesinden Series Oluşturma
Bir Python listesini pd.Series() işlevine vermek, varsayılan bir tamsayı RangeIndex (0, 1, 2, ...) içeren bir Series oluşturur. index= parametresiyle özel index etiketleri sağlayabilirsiniz. Index listesinin uzunluğu, verilerin uzunluğuyla eşleşmelidir. Etiketler dizeler, tamsayılar, tarihler veya karma oluşturulabilen herhangi Python nesneleri olabilir.
import pandas as pd
temps = pd.Series([22.5, 19.0, 25.3, 17.8],
index=['Mon', 'Tue', 'Wed', 'Thu'])
print(temps)
# Mon 22.5
# Tue 19.0
# Wed 25.3
# Thu 17.8
# dtype: float64Sözlükten Series Oluşturma
Bir Python sözlüğü doğrudan pd.Series() işlevine verilebilir. Sözlüğün anahtarları index etiketleri, değerleri ise veri olur. Verilerinizin zaten anlamlı etiketleri varsa Series oluşturmanın en doğal yollarından biri budur. Ortaya çıkan Series, sözlüğün eklenme sırasına göre düzenlenir (Python 3.7+).
import pandas as pd
stock = {'AAPL': 182.5, 'GOOG': 141.3, 'MSFT': 378.9}
s = pd.Series(stock)
print(s)
# AAPL 182.5
# GOOG 141.3
# MSFT 378.9
# dtype: float64NumPy Dizisinden Series Oluşturma
Bir NumPy ndarray, veri bağımsız değişkeni olarak verilebilir. Series nesnesinin dtype özelliği ndarray'nin dtype özelliğiyle aynı olur. Temel veriler bir NumPy dizisi olarak saklandığından, tüm NumPy ufunc işlevleri doğrudan Series üzerinde çalışır. Bu sayede mevcut NumPy kodunu veri hazırlama mantığını yeniden yazmadan Pandas'a aktarmak kolaylaşır.
import pandas as pd
import numpy as np
arr = np.linspace(0, 1, 5)
s = pd.Series(arr, index=['a', 'b', 'c', 'd', 'e'])
print(s)
# a 0.00
# b 0.25
# c 0.50
# d 0.75
# e 1.00.index ve .values Öznitelikleri
s.index, etiketleri içeren Index nesnesini döndürür. s.values, verilerin temelindeki NumPy dizisini döndürür. Her ikisi de birlikte çalışabilirlik için gereklidir: s.values değerini herhangi bir NumPy işlevine verebilir ve sonucu özgün index ile bir Series'e dönüştürebilirsiniz. s.dtype, değerlerin veri türünü verir.
import pandas as pd
s = pd.Series([3, 1, 4], index=['x', 'y', 'z'])
print(s.index) # Index(['x', 'y', 'z'], dtype='object')
print(s.values) # [3 1 4]
print(s.dtype) # int64Series Adı ve Index Adı
Bir Series, değerlerin neyi temsil ettiğini açıklayan bir .name özniteliğine sahip olabilir; index de etiketlerin neyi temsil ettiğini açıklayan bir .name özniteliğine sahip olabilir. Series bir DataFrame'e sütun olarak atandığında ve grafik etiketlerinde bu adlar görünür. Bunları s.name = 'price' ile veya oluşturma sırasında name= ile ayarlayın.
import pandas as pd
s = pd.Series([1.2, 3.4, 5.6],
index=['a', 'b', 'c'],
name='measurement')
s.index.name = 'label'
print(s)
# label
# a 1.2
# b 3.4
# c 5.6
# Name: measurement, dtype: float64Skaler Series Oluşturma
Açık bir index ile birlikte pd.Series() işlevine tek bir skaler değer vermek, her öğesi bu skalere eşit olan bir Series oluşturur. Bu işlem NumPy'nin np.full() işlevine benzer ve gerçek bir veri Series'inden çıkarmak veya onunla karşılaştırmak üzere sabit taban Series'leri oluşturmak için kullanışlıdır.
import pandas as pd
s = pd.Series(5, index=['a', 'b', 'c', 'd'])
print(s)
# a 5
# b 5
# c 5
# d 5
# dtype: int64Otomatik Index Hizalama
Pandas Series nesnelerinin en güçlü özelliklerinden biri otomatik index hizalama özelliğidir. İki Series toplandığında Pandas, sonucu hesaplamadan önce onları etiketlerine göre hizalar. Bir etiket yalnızca bir Series'te varsa, o etiketteki sonuç NaN olur. Bu, NumPy dizi işlemlerinde sık görülen ve fark edilmeden oluşan birer kayma hatasını önler.
import pandas as pd
a = pd.Series([1, 2], index=['x', 'y'])
b = pd.Series([10, 20], index=['y', 'z'])
print(a + b)
# x NaN
# y 12.0
# z NaNSeries Uzunluğunu ve Şeklini Kontrol Etme
len(s), öğe sayısını döndürür. s.shape, NumPy kurallarıyla uyumlu bir (n,) demeti döndürür. s.size, len(s) ile aynıdır. Analize devam etmeden önce veri yükleme işleminizin beklenen sayıda satır ürettiğini doğrulamak için bu kontrolleri bir veri işleme hattının başında kullanın.
import pandas as pd
s = pd.Series(range(10))
print(len(s)) # 10
print(s.shape) # (10,)
print(s.size) # 10
print(s.ndim) # 1Series'i Diğer Türlere Dönüştürme
Bir Series'i s.tolist() ile Python listesine, s.to_numpy() veya s.values ile NumPy dizisine ve s.to_dict() ile sözlüğe dönüştürebilirsiniz. Bu dönüşümler, Pandas nesnelerini kabul etmeyen kütüphanelerle birlikte çalışmak ve sonuçları JSON veya CSV olarak serileştirmek için kullanışlıdır.
import pandas as pd
s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
print(s.tolist()) # [10, 20, 30]
print(s.to_numpy()) # [10 20 30]
print(s.to_dict()) # {'a': 10, 'b': 20, 'c': 30}Series ve DataFrame Sütunu
Bir DataFrame'in tek bir sütunu bir Series'tir. df['col'] erişimini yaptığınızda Pandas, DataFrame ile aynı index'e sahip bir Series döndürür. Buna karşılık, name özniteliğine sahip bir Series doğrudan DataFrame'e sütun olarak eklenebilir. Bu ilişkiyi anlamak, Series ve DataFrame işlemleri arasında rahatça geçiş yapmanıza yardımcı olur.
import pandas as pd
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
col = df['a'] # Series
print(type(col)) # <class 'pandas.core.series.Series'>
print(col.values) # [1 2 3]Hızlı Kontrol
Bu derste Pandas Series oluşturmayı anlayıp anlamadığınızı test edin.
Ders Özeti
Bu derste şunları öğrendiniz: Series, NumPy ndarray temel alınarak oluşturulmuş 1 boyutlu etiketli bir dizidir, listelerden, sözlüklerden, NumPy dizilerinden veya skalerlerden oluşturulabilir ve index hizalama, iki Series arasındaki etiket tabanlı aritmetiği otomatik olarak yönetir. Sırada Series öğelerine etiketle .loc, konumla .iloc kullanarak erişmeyi ele alacağız.
Sıkça Sorulan Sorular
“Series Oluşturma” dersi ücretsiz mi?
Evet — “Series Oluşturma” 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.
“Series Oluşturma” dersinde ne öğreneceğim?
Bir Python listesinden, sözlükten ve NumPy dizisinden Pandas Series oluşturun; dizin ve değerler özniteliklerini inceleyin. 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 1. dersidir.
“Series Oluşturma” 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
- Series Oluşturma
- Etiket ve Konum Tabanlı Erişim
- Series Üzerinde Vektörleştirilmiş İşlemler
- Yararlı Series Yöntemleri