Python Pandas ile Temel İşlemler
Bölüm 2 – Sütun Ekleme/Kaldırma
Pandas ile temel işlemlere devam ediyoruz. Birinci bölümde ufo verimizi yüklemiştik.
Pandas ile Sütun Eklemek ve Kaldırmak
SQL’den hatırladığımız drop sözcüğü burada da iş başında. Bir sütunu tablodan (dataframe) kaldırmak istiyorsak drop() metodunu kullanıyoruz. Bir kaç argüman ile seçeneklerimizi arttırabiliyoruz. Sütun kaldırmadan önce yeni bir sütun ekleyelim ve onu kaldıralım. Ekleyeceğim yeni sütun 10.000 ile 200.000 arasında rakamlardan oluşacak ve bu sütundaki rakamları ufonun görüldüğü şehrin nüfusu kabul edeceğim.
from random import randint
Nüfus için rastgele rakamlar elde etmek için random randint kütüphanesini kullanıyoruz. Aşağıda bir for döngüsüyle tablomuzun satır sayısı olan 18.241 adet rastgele rakam üretip bu rakamları rastgele_sayilar adında bir Python listesine ekliyoruz.
rastgele_sayilar = [] for i in range(0,18241): rastgele_sayilar.append(randint(10000,200000))
Bakalım listemizin uzunluğu tablo satır sayısıyla aynı mı?
len(rastgele_sayilar) 18241
evet aynıymış. Şimdi yeni bir sütun oluşturarak rastgele_sayilar listemizi bu sütuna atayalım.
ufo['nufus'] = rastgele_sayilar
head() metoduyla tablomuzun yeni halini görelim.
ufo.head()
City | Colors Reported | Shape Reported | State | Time | nufus | |
---|---|---|---|---|---|---|
0 | Ithaca | NaN | TRIANGLE | NY | 6/1/1930 22:00 | 81348 |
1 | Willingboro | NaN | OTHER | NJ | 6/30/1930 20:00 | 50670 |
2 | Holyoke | NaN | OVAL | CO | 2/15/1931 14:00 | 84373 |
3 | Abilene | NaN | DISK | KS | 6/1/1931 13:00 | 83502 |
4 | New York Worlds Fair | NaN | LIGHT | NY | 4/18/1933 19:00 | 58124 |
Gördüğümüz gibi nufus adında yeni sütun tabloya eklendi. Şimdi eklediğimiz bu sütunu kaldıralım.
ufo.drop('nufus',axis=1, inplace=True)
Yukarıdaki kodda axis=1
sütun demektir. inplace=True
ise temelli kaldır, kaldıyormuş gibi yapma 🙂 demektir.
Pandas ile Satır Silmek
drop()
metodu sütun kaldırdığı gibi satır da kaldırır. Metodumuz aynı, sadece axis argümanı 0 (sıfır) değerini alır. Hemen ilk iki satırı (0 ve 1 indekse sahip satırlar) kaldıralım. Satırı seçmek için Pandas’ın kendi atadığı en soldaki satır numarası değerini kullanacağız.
ufo.drop([0,1], axis=0, inplace=True)
Şimdi head() metoduyla tekrar bir bakalım gerçekten ilk iki satır silinmiş mi?
ufo.head()
City | Colors Reported | Shape Reported | State | Time | |
---|---|---|---|---|---|
2 | Holyoke | NaN | OVAL | CO | 2/15/1931 14:00 |
3 | Abilene | NaN | DISK | KS | 6/1/1931 13:00 |
4 | New York Worlds Fair | NaN | LIGHT | NY | 4/18/1933 19:00 |
5 | Valley City | NaN | DISK | ND | 9/15/1934 15:30 |
6 | Crater Lake | NaN | CIRCLE | CA | 6/15/1935 0:00 |
Görüldüğü gibi 0 ve 1’inci satırlar silinmiş. Şimdi üçüncü bölüme geçebiliriz.
Mehaba. yukarıda türkçe sütun isimlerini değiştirmeden önce sütun sayısını 2’ye düşürdüğünüz için uyarı veriyor. Dolayısıyla sütun sayısını düşürmeden isim değişikliği yaptım. Bilginize. paylaşımlarınız için tşk ederim.
Merhaba. Haklısınız. Düzeltme yaptım. İki sütun için dataframe’i “ufo_two_cols” ismiyle tuttuk. Çok teşekkürler.