Veri Bilimi & Veri Manipülasyonu - Pandas

DataFrame Yöntemleri

Yayın tarihi :19-Ara-21
Bölüm kodlarını ve/veya veri setlerini indir.

DataFrame yöntemleri, konusu daha önce görmüş olduğumuz Seri Öznitelikleri ve Seri Yöntemlerinin çoğu özelliklerini kullanabilmemizi sağlar. 

Aşağıdaki yöntemlerinde kullanılmak üzere bir tane DataFrame oluşturalım;

import pandas as pd

df = pd.DataFrame({'sehir':['Ankara', 'İstanbul', 'İzmir',"Bursa","Antalya"],
                  'plaka':["06","34","35","16","07"],
                  "nufus":[5663000,15460000,4367000,3101833,2548308],
                  "bolge":["İç Anadolu","Marmara","Ege","Marmara","Akdeniz"]})
df

Çıktı:


1. type(): Verisetin tipini bulmak için kullanılır.

type(df)

Çıktı:

pandas.core.frame.DataFrame

2. dtypes: Sütunların veri tiplerini bulmak için kullanılır.

df.dtypes

Çıktı:

sehir    object
plaka    object
nufus     int64
bolge    object
dtype: object

3. index: İndex bilgisi için kullanılır.

df.index

Çıktı:

RangeIndex(start=0, stop=5, step=1)

4. ndim: DataFrame boyutu için kullanılır.

df.ndim

Çıktı:

2

5. shape: Satır ve sütun sayısı için kullanılır.

df.shape

Çıktı:

(5, 4)

6. add_prefix(): Sütun adının başına veri yazmak için kullanılır.

df.add_prefix("sütun_")

Çıktı:

7. add_suffix(): Sütun sonuna veri yazmak için kullanılır.

df.add_suffix("_sütun")

Çıktı:

8. agg() ve apply(): İstenilen sütuna fonksiyon işlemini uygulamak için kullanılır.

#df[["nufus"]].agg(lambda x:x/1000) #alt satırdaki apply ifadesi yerine bu ifade de kullanılabilir.
df[["nufus"]].apply(lambda x:x/1000) #sayı değeri 1000'e bölündü

Çıktı:

#df[["sehir","plaka","bolge"]].agg(lambda x:x+"_") #alt satırdaki apply ifadesi yerine bu ifade de kullanılabilir.
df[["sehir","plaka","bolge"]].apply(lambda x:x+"_") #object türdeki değerlere _ eklendi

Çıktı:

9. argmax() ve argmin(): Max ve Min değerli sütunların index değerlerini bulmak için kullanılır.

#nufus sütununda en yüksek değerli elemanın index değeri
print("Nüfusu en yüksek elemanın index değeri: {}".format(df["nufus"].argmax()))
#nüfus sütununda en düşük değerli elemanın index değeri
print("Nüfusu en düşük elemanın index değeri: {}".format(df["nufus"].argmin()))

Çıktı:

Nüfusu en yüksek elemanın index değeri: 1
Nüfusu en düşük elemanın index değeri: 4

10. argsort(): Sıralı index değeri bulmak için kullanılır.

#sehir adına göre sıralamada index değeri
df["sehir"].argsort()

Çıktı:

0    0
1    4
2    3
3    1
4    2
Name: sehir, dtype: int64

11. astype(): Tür dönüşümü yapmak için kullanılır.

#Sayısal değerde olan nufus değeri object türüne,
#Object türünde olan plaka değeri de sayısal türe dönüştürüldü.
df["nufus"]=df["nufus"].astype("object")
df["plaka"]=df["plaka"].astype("int")
df.info()
#çıkan tabloda Dtype sütununa baktığınızda tiplerin değiştiğini göreceksiniz.

Çıktı:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5 entries, 0 to 4
Data columns (total 4 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   sehir   5 non-null      object
 1   plaka   5 non-null      int32 
 2   nufus   5 non-null      object
 3   bolge   5 non-null      object
dtypes: int32(1), object(3)
memory usage: 268.0+ bytes

12. compare(): İki sütun karşılaştırma için kullanılır.

#not: önceki satır komutunda veri tipleri değiştirilmişti, veri tipleri tekrar eski haline dönüştürülüp devam edildi.
df["nufus"].compare(df["plaka"])

Çıktı:

13. copy(): DataFrame'nin kopyasını almak için kullanılır.

df2=df.copy()
df2

Çıktı:

14. count(): Sütunlardaki satır sayılarını bulmak için kullanılır.

df.count()

Çıktı:

sehir    5
plaka    5
nufus    5
bolge    5
dtype: int64

15. drop(): Değişkenleri kaldırma için kullanılır. 

#plaka sütunu kaldırıldı
#diğer satırlarda da kaldırma işleminin görünmesi için;
#df=df.drop("plaka",axis=1) veya df.drop("plaka",axis=1,inplace=True) kodu döndürülmelidir.
df.drop("plaka",axis=1)

Çıktı:

16. isnull(): Değeri "NaN" olan elemanları bulmak için kullanılır.

#değeri boş olan eleman var mı?
df.isnull()

Çıktı:

17. median(), mode(), min(), max(), std(): Orta değeri almak için(median), en çok geçen ifadeyi bulmak için (mode), min ve max değerleri bulmak için(min ve max) ve standart sapma değerini bulmak için(std) kullanılır.

print("nufus median: {}".format(df["nufus"].median()))
print("nufus mode: {}".format(df["nufus"].mean()))
print("nufus min değeri: {}".format(df["nufus"].min()))
print("nufus max değeri: {}".format(df["nufus"].max()))
print("nufus standart sapma değeri: {}".format(df["nufus"].std()))

Çıktı:

nufus median: 4367000.0
nufus mode: 6228028.2
nufus min değeri: 2548308
nufus max değeri: 15460000
nufus standart sapma değeri: 5299184.449582238

18. describe(): DataFrame hakkında istatistiksel bilgi almak için kullanılır. (median(), mode(), min(), max(), std() komutları ile yapılan tüm işlemleri ve daha fazlasını yapar.)

df.describe()

Çıktı:

#Çıktının Transpozesi(T) alınarak da gösterim sağlanabilir.
df.describe().T

Çıktı:

 

19.rank(): Rank değerini (boyutlarına göre sıralama işlemi) bulmak için kullanılır.

#rank değerleri
df["nufus"].rank()

Çıktı:

0    4.0
1    5.0
2    3.0
3    2.0
4    1.0
Name: nufus, dtype: float64

20. replace(): Eleman değeri değişikliği için kullanılır.

#Elaman değeri Ankara olanları Ank ile değiştir.
df.replace("Ankara","Ank")

Çıktı:

#liste halinde değiştirme, eleman değeri Ankara ve İstanbul olanları Test değeri ile değiştir.
df.replace(["Ankara","İstanbul"],"Test")

Çıktı:

#index değeri 1 olan satır silindi ve index değerleri düzenlendi
df.drop(index=1,axis=0).reset_index(drop=True)

Çıktı:

21. sample(): DataFrame içersinde rastgele satır getirmek için kullanılır. Varsayılan olarak 1 tane değer getirir.

#rasgele 2 satır getir
df.sample(2)

Çıktı:

22. sort_index(): İndex değerine göre büyükten küçüğe sıralama yapmak için kullanılır.

df.sort_index(ascending=False)

Çıktı:

23. sort_values(): Eleman değerine göre sıralama yapmak için kullanılır.

#sehir değerine göre sıralama yapma
df.sort_values(by="sehir")

Çıktı:

#bolge sütununa göre büyükten küçüğe sıralama
df.sort_values("bolge",ascending=False) #by=bolge'de yazılabilir ama sadece bolge yazmak da yeterlidir.

Çıktı:

24. tail(): DataFrame'nin son satırlarını göstermek için kullanılır. Varsayılan olarak 5 satır getirir.

#son iki satır getir
df.tail(2)

Çıktı:

25. unique(): Benzersiz değerleri getirmek için kullanılır.

df["bolge"].unique()

Çıktı:

array(['İç Anadolu', 'Marmara', 'Ege', 'Akdeniz'], dtype=object)

26. value_counts(): Benzersiz değerlerin sayısını görmek için kullanılır.

df["bolge"].value_counts()

Çıktı:

Marmara       2
Ege           1
İç Anadolu    1
Akdeniz       1
Name: bolge, dtype: int64
Paylaş:

Yorum Yap (*Yorumunuza kod eklemek isterseniz Kod Parçacığı Ekle butonuna tıklayarak ekleyebilirsiniz.)

Yorumlar

Henüz hiç yorum yapılmamış, ilk yorum yapan sen ol.