Odak modu
Notebook Link: https://github.com/ine-rmotr-curriculum/freecodecamp-intro-to-pandas/blob/master/1%20-%20Pandas%20-%20Series.ipynb
Seri bir sözlük gibidir ve değerlerini bir NumPy array'de tutar. Sözlükte nasıl bir değere ulaşabiliyorsak seride de ulaşabiliriz. Pokemon serisini bir hatırlayalım.
series
Bulbasaur 49 Charmander 43 Squirtle 65 Pikachu 40 Onix 160 Name: Pokemon Savunma Güçleri, dtype: int64
Örneğin, Pikachu'nun değerini yazdıralım.
series["Pikachu"]
40
Ayrıca serinin ".iloc" metodunu kullanarak değerlere sayısal indekslerini kullanarak da erişebiliriz.
# 2 indeksli değere ulaşalım, arrayin 3. değeri series.iloc[2]
65
# arrayin son değerine ulaşalım series.iloc[-1]
160
Birden çok indeks kullanarak da değerleri seçebiliriz (Bu bize başka bir Series döndürür).
series[["Bulbasaur", "Onix"]]
Bulbasaur 49 Onix 160 Name: Pokemon Savunma Güçleri, dtype: int64
Aynı şekilde birden çok sayısal indeks seçebiliriz.
series[[1, 4]]
Charmander 43 Onix 160 Name: Pokemon Savunma Güçleri, dtype: int64
Dilimleme yaparak yani başlangıç ve bitiş indekslerini belirterek de seçim yapabiliriz (Pandas'ta bitiş değeri de sonuca eklenir! Örneğin aşağıda Squirtle da dahildir.)
series["Bulbasaur": "Squirtle"]
Bulbasaur 49 Charmander 43 Squirtle 65 Name: Pokemon Savunma Güçleri, dtype: int64
Serilerde, Numpy arraylerdeki gibi bir koşul ile boolean seçim yapabiliriz.
series > 45
Bulbasaur True Charmander False Squirtle True Pikachu False Onix True Name: Pokemon Savunma Güçleri, dtype: bool
Boolean indeksleme de yapabiliriz.
series[series > 45]
Bulbasaur 49 Squirtle 65 Onix 160 Name: Pokemon Savunma Güçleri, dtype: int64
Ortalamasını, standart sapmasını vb. Bulabiliriz. Numpy arraylerde yapabileceğimiz çoğu türlü işlemi yapabiliriz.
series.mean()
71.4
Ortalamanın üstündeki değerleri seçelim.
series[series > series.mean()]
Onix 160 Name: Pokemon Savunma Güçleri, dtype: int64
(Sadece Onix, diğer pokemonlara fark atmış!)
İki koşulu parantezlere koyarak seçebiliriz.
series[(series > 45) & (series < 100)]
Bulbasaur 49 Squirtle 65 Name: Pokemon Savunma Güçleri, dtype: int64
Serileri istediğimiz gibi düzenleyebiliriz. İndeksi ile seçerek:
series["Pikachu"] = 70 # Pikachu'yu güçlendirdik series["Pikachu"] # yazdıralım
70
50'den yüksek olan değerleri 50 yapalım.
series[series > 50] = 50 series # yazdıralım
Bulbasaur 49 Charmander 43 Squirtle 50 Pikachu 50 Onix 50 Name: Pokemon Savunma Güçleri, dtype: int64
Orijinal seriyi tekrar oluşturalım.
series = pd.Series({
'Bulbasaur': 49,
'Charmander': 43,
'Squirtle': 65,
'Pikachu': 40,
'Onix': 160
}, name="Pokemon Savunma Güçleri")
Yazılım Kariyerinde İlerlemeni Hızlandıracak Programlar
Patika+ programlarımız ile 4-8 aylık yoğun yazılım kamplarına katıl, temel bilgilerden başlayarak kapsamlı bilgiler edin, yazılım kariyerine başla!
Yorum yapabilmek için derse kayıt olmalısın!