Pandas kütüphanesi

Sıla Kazan
4 min readJun 26, 2021

--

Selamlar herkese bu yazımda sizlere veri bilimci olma yolunda ilerlerken öğrendiklerimi aktarmaya çalışıcam.

Veri biliminin olmazsa olmazlarından olan Pandas kütüphanesi. İstanbul Data Science Akademi de almakta olduğum eğitimdeki hocamızın dediği gibi pandas ve numpy bizim göz bebeğimiz çok iyi öğreneceğiz :) Anlatalım bizde.

Veri bilimi projeleri, verinin keşfedilmesi ve temizlenmesi ile başlar ve bu işlemler projelerin en çok zaman alan kısımlarıdır. Dolayısıyla verinin keşfi ve temizlenmesi sırasında işleri kolaylaştıracak bir takım kütüphanelere ihtiyaç duyulur. Pandas kütüphanesi de bunlardan biridir.

Pandas, veri işlemesi ve analizi için Python programlama dilinde yazılmış olan bir yazılım kütüphanesidir. Bu kütüphane temel olarak zaman etiketli serileri ve sayısal tabloları işlemek için bir veri yapısı oluşturur ve bu şekilde çeşitli işlemler bu veri yapısı üzerinde gerçekleştirilebilir.

Pandas sayesinde hızlı, güçlü, esnek bir şekilde veri analizi ve işleme yapılabilir, veri çerçeveleri hızlı ve etkilidir. Bu kütüphane sayesinde .csv ve .txt dosyalarını kolayca okuyabiliriz. Veri biliminde, veri içersinde bulunan eksik verileri bulmada, çıkartmada Pandas kütüphanesi işimizi kolaylaştırır.

Pandas ile veri analizi yaparken kullanacağımız temel veri yapıları Seriler(Series)-(1boyutlu) ve DataFrame-(2 boyutlu) ’lerdir.

Pandasın en iyi yaptığı şeylerden bir kaçı:

  • Kayıp verilerin (NaN olarak temsil edilir) kolayca işlenmesi
  • Verileri toplamak ve dönüştürmek için veri kümelerinde böl-uygula-birleştir işlemlerini gerçekleştirmek için güçlü ve esnek “group by” işlevine sahiptir.
  • Veri kümelerinin kolayca yeniden şekillendirilmesi
  • Zaman serisine özgü işlevsellik: tarih aralığı oluşturma ve frekans dönüştürme, hareketli pencere istatistikleri, tarih kaydırma ve geciktirme

* Pandas Kütüphanesinin import edilmesi

Pandas’ın özelliklerini incelemeye kütüphaneyi import ederek başlayalım.

import pandas as pd

Artık pd kısaltmasını kullanarak Pandas ile istediğiniz gibi oynayabilirsiniz. Örneğin pd? yazıp tab tuşuna basarsak pandasın içindeki metotları görebilirsiniz.

* Pandas veri yapıları

  • Series
  • DataFrames

1-)Series: Seriler Numpy dizileri baz alınarak oluşturulmuştur. Dolayısıyla tek boyutlu Numpy dizilerine çok benzerler.

Serilerin genel kullanımı :

my_series = pd.Series(data,index)

şeklindedir. Burada data parametresi

  • sabit bir değer,
  • liste,
  • Numpy dizisi veya
  • bir dictionary

olabilir.

Şimdi bir seri oluşturalım;

data = [1,7,3,7,9,10]
seri = pd.Series(data) #burada elemanları yazıp seriyi tanımlıyoruz
seri #seriyi yazdırıyoruz
output:
0 1
1 7
2 3
3 7
4 9
5 10
dtype: int64

Pandas’ta indexlere değer atama;

index = ["Eskişehir", "Ankara", "İstanbul", "Afyon", "Adana", "Bursa"] pd.Series(data = data , index = index)output:
Eskişehir 1
Ankara 7
İstanbul 3
Afyon 7
Adana 9
Bursa 10
dtype: int64
  • Serilerde indexlere değer atarken fazla veya eksik değer atarsak valueerror hatası alırız.
index = ["Eskişehir", "Ankara", "İstanbul", "Afyon", "Adana", "Bursa","Bolu"] #Doğrupd.Series(data = data , index = index)

output:

Böyle yapmak yerine direkt dict’leri kullanarak hem indexleyip hemde elemanlarınızı içerisinde bulunduran bir seri oluşturabilirsiniz.

dataDict = {"Eskişehir":1,"Ankara":7,"İstanbul":3,"Afyon":7, "Adana":9,"Bursa":10}
pd.Series(dataDict)
output:
Eskişehir 1
Ankara 7
İstanbul 3
Afyon 7
Adana 9
Bursa 10
dtype: int64

Pandas ile DataFrame Oluşturma

  • Columns : Başlıklar
  • İndex : Az önce bahsettiğim etiketler
  • Data : Elemanlar

DataFrame mizi oluşturalım:

data = pd.DataFrame(np.random.randn(6, 2), columns = ["Sıla1","Sıla2"] )
data

Pandas sütunları columns kullanarak görebiliriz. Info ise içerisinde bulunan verilerin özelliklerini, sütun ve sayısı, boş olup olmadığını, veri tiplerini, ne kadar hafıza kullandığını gösterir.

data.infooutput:
<bound method DataFrame.info of Sıla1 Sıla2
0 0.250181 0.729441
1 0.582112 -0.518878
2 -1.224515 -0.183642
3 1.371958 0.695972
4 0.166509 -1.286773
5 -0.442601 0.594291>
  • data’nın satır ve sütun sayısını öğrenelim.
data.shapeoutput:
(6, 2)

head() metodu varsayılan olarak df’in ilk 5 satırını döndürür.

data.head()output:

tail() metodu varsayılan olarak son 5 satırı döndürür.

data.tail()output:

Describe metodu ile nümerik olan veriler analiz edilebilir. Yukarıdaki örnekte görebileceğiniz gibi sıla1 ve sıla2 sütunları için minimum, maksimum, medyan, standart sapma gibi değerlere erişebiliriz.

data.describe()

data ‘daki eksik değerlerin sayısını öğrenelim ve azalan şekilde sıralayalım.

print(data.isnull().sum().sort_values(ascending=False))output:Sıla1    0
Sıla2 0
dtype: int64

Şimdi Filtreleme ve Groupby yöntemlerinin nasıl yapıldığını yeni bir dataFrame oluşturup gösterelim:

df = pd.DataFrame({'group':[1,1,1,2,2,2,2,3,3,3],
'brand':['A','B','X','C','D','X','X','E','F','X']})

print(df)
output:group brand
0 1 A
1 1 B
2 1 X
3 2 C
4 2 D
5 2 X
6 2 X
7 3 E
8 3 F
9 3 X

Amacım sadece bir markaya sahip olan grupları görmekX kendileriyle ilişkili . Grup 2, markaya eşit iki gözlem Xiçerdiğinden, sonuçta elde edilen DataFrame'den filtrelenmelidir.

df[df['brand'].eq('X').groupby(df['group']).transform('sum').eq(1)]

Pandas ile ilgili temelde anlatacaklarım bunlar. Gerekli pratik alıştırma ve çalışmalarıma Github hesabımdan ulaşabilirsiniz .

hoşçakalın :)

Github: https://github.com/silakazan

--

--

Sıla Kazan
Sıla Kazan

No responses yet