Kurs
Size verilen verilerle hiçbir zaman sınırlı değilsiniz. Bunun yerine, bir DataFrame'e yeni sütunlar ekleyebilirsiniz. Bunun için dönüştürme (transforming), mutasyon (mutating) ve özellik mühendisliği (feature engineering) gibi farklı adlar kullanılır.
Yeni sütunları sıfırdan oluşturabilirsiniz, ancak bunları diğer sütunlardan türetmek de yaygındır; örneğin, sütunları birbirine ekleyerek veya birimlerini değiştirerek.
Bir Sütun Türetme
Bir köpek veri kümesini kullanarak, her köpeğin boyunu santimetre yerine metre cinsinden içeren yeni bir sütunu DataFrame'inize eklemek istediğinizi varsayalım.
Eşittir işaretinin sol tarafında, oluşturmak istediğiniz yeni sütunun adını köşeli parantez içinde yazarsınız; bu durumda height_m. Sağ tarafta ise hesaplama yer alır.
dogs["height_m"] = dogs["height_cm"] / 100
print(dogs)
name breed color height_cm weight_kg date_of_birth height_m
0 Bella Labrador Brown 56 24 2013-07-01 0.56
1 Charlie Poodle Black 43 24 2016-09-16 0.43
2 Lucy Chow Chow Brown 46 24 2014-08-25 0.46
3 Cooper Schnauzer Gray 49 17 2016-09-16 0.49
4 Max Labrador Black 59 29 2016-09-16 0.59
5 Stella Chihuahua Tan 18 2 2016-09-16 0.18
6 Bernie St. Bernard White 77 74 2016-09-16 0.77
Hem mevcut hem de türetilen sütunun, değiştirdiğiniz veri çerçevesinde yer aldığına dikkat edin.
Bir Sütun Ekleme
Bu örnekte, köpek kitle indeksini hesaplayıp veri çerçevenize bir sütun olarak ekleyeceksiniz. BMI, vücut kitle indeksinin kısaltmasıdır; kilogram cinsinden ağırlığın, metre cinsinden boyun karesine bölünmesiyle hesaplanır.
dogs["height_m"] = dogs["weight_kg"] / dogs["height_m"] ** 2
print(dogs.head())
name breed color height_cm weight_kg date_of_birth height_m bmi
0 Bella Labrador Brown 56 24 2013-07-01 0.56 76.530612
1 Charlie Poodle Black 43 24 2016-09-16 0.43 129.799892
2 Lucy Chow Chow Brown 46 24 2014-08-25 0.46 113.421550
3 Cooper Schnauzer Gray 49 17 2016-09-16 0.49 70.803832
4 Max Labrador Black 59 29 2016-09-16 0.59 83.309394
Yine, yeni sütun eşittirin sol tarafında; ancak bu kez hesaplamamız iki sütunu içeriyor.
Birden Fazla İşlemle Sütun Ekleme
pandas'ın gerçek gücü, şimdiye kadar öğrendiğiniz tüm becerileri birleştirdiğinizde ortaya çıkar. Hadi zayıf ve uzun köpeklerin adlarını bulalım.
Önce, zayıf köpekleri tanımlamak için BMI değeri 100'ün altında olan köpeklerin alt kümesini alırsınız. Sonra, en uzun zayıf köpeklerin en üstte olması için boyu azalan düzende sıralarsınız.
Son olarak, bu kez yalnızca ilgilendiğiniz sütunları tutacaksınız.
bmi_lt_100 = dogs[dogs["bmi"] < 100]
bmi_lt_100_height = bmi_lt_100.short_values("height_cm", ascending=False)
bmi_lt_100_height[["name", "height_cm", "bmi"]]
name height_cm bmi
4 Max 59 83.309394
0 Bella 56 76.530612
3 Cooper 49 70.803832
5 Stella 18 61.728395
Burada, Max'in BMI'si 100'ün altında olan en uzun köpek olduğunu görebilirsiniz.
Etkileşimli Örnek
Aşağıdaki örnekte, homelessness adlı DataFrame'e, individuals ve family_members sütunlarının toplamını içeren total adlı yeni bir sütun eklersiniz. Ardından, her eyalette evsizlerin birey olma oranını içeren p_individuals adlı bir sütunu homelessness'a eklersiniz. Son olarak, homelessness veri çerçevesini yazdırın.
# Add total col as sum of individuals and family_members
homelessness["total"] = homelessness["individuals"] + homelessness["family_members"]
# Add p_individuals col as proportion of individuals
homelessness["p_individuals"] = homelessness["individuals"] / homelessness["total"]
# See the result
print(homelessness)
Yukarıdaki kodu çalıştırdığımızda aşağıdaki sonuç elde edilir:
region state individuals family_members state_pop total p_individuals
0 East South Central Alabama 2570.0 864.0 4887681 3434.0 0.748
1 Pacific Alaska 1434.0 582.0 735139 2016.0 0.711
2 Mountain Arizona 7259.0 2606.0 7158024 9865.0 0.736
3 West South Central Arkansas 2280.0 432.0 3009733 2712.0 0.841
4 Pacific California 109008.0 20964.0 39461588 129972.0 0.8
...
48 South Atlantic West Virginia 1021.0 222.0 1804291 1243.0 0.821
49 East North Central Wisconsin 2740.0 2167.0 5807406 4907.0 0.558
50 Mountain Wyoming 434.0 205.0 577601 639.0 0.679
Ayrıca DataCamp'in Pandas'ta Sütunlar Nasıl Silinir adlı eğitimine de göz atın.
pandas'ta yeni sütunlar ekleme hakkında daha fazla bilgi için, Data Manipulation with pandas adlı kursumuzdaki bu videoya bakın.
Bu içerik, Maggie Matsui ve Richie Cotton tarafından hazırlanan DataCamp’in Data Manipulation with pandas kursundan alınmıştır.
