top of page
  • Yazarın fotoğrafıberilcankutlu

Data Frame (Veri Çerçevesi) Nedir?

Pandas kütüphanesinin kaynakları DataFrame'i şu şekilde açıklar: DataFrame, potansiyel olarak farklı türde sütunlara sahip 2 boyutlu etiketli bir veri yapısıdır. Bunu bir elektronik tablo veya SQL tablosu veya dizi nesnelerinden oluşan bir sözlük gibi düşünebilirsiniz. Genellikle en sık kullanılan panda nesnesidir.

Data Frame daha çok bir excell tablosuna benzer. Başlıkları vardır, argüman olarak verilebilir. Eğer başlıklar argüman olarak verilmezse verinin en üstündeki indexi başlık olarak atar. Veri analizi için kullanılan her programlama dilinde buna benzer bir şey mutlaka vardır.

Aynı sütundaki veriler aynı veri tipinde, farklı sütundaki veriler farklı veri tipinde olabilir.


Önce pandas ve numpy kütüphanelerini kuralım.

import pandas as pd
import numpy as np

1. Boş DataFrame oluşturmak

df = pd.DataFrame()  
print(df)

output:

Empty DataFrame

Columns: []

Index: []


2. Bir liste kullanarak Data Frame oluşturmak

Bunun için bir liste ya da listelerin listesi kullanılabilir.

cats = ['Bengal', 'British Shorthair', 'Ragdoll', 'Munchkin', 'Scottish Fold', 'Exotic Shorthair', 'Maine Coon']  
df = pd.DataFrame(cats)  
print(df)

output:

0 0

Bengal

1 British Shorthair

2 Ragdoll

3 Munchkin

4 Scottish Fold

5 Exotic Shorthair

6 Maine Coon


3. ndarray/listelerin sözlüğünden Dataframe oluşturma

Tüm ndarray aynı uzunlukta olmalıdır.

data = {'Name': ['Oscar', 'Latte', 'Lucky', 'Oliver'], 'Age': [1, 5, 2, 4]}  
df = pd.DataFrame(data)  
print(df) 

output:

Name Age

0 Oscar 1

1 Latte 5

2 Lucky 2

3 Oliver 4


4. Array kullanarak Data Frame oluşturma

Yukardaki kodu alalım ve array'i index oluşturmak için kullanalım.

data = {'Name': ['Oscar', 'Latte', 'Lucky', 'Oliver'], 'Age': [1, 5, 2, 4]}  
df = pd.DataFrame(data, index=['Cat_No_1', 'Cat_No_2', 'Cat_No_3', 'Cat_No_4'])  
print(df)  

output:

Name Age

Cat_No_1 Oscar 1

Cat_No_2 Latte 5

Cat_No_3 Lucky 2

Cat_No_4 Oliver 4


5. Sözlük Listesinden Data Frame oluşturma

Sütun adları varsayılan olarak anahtar olarak alınır.

data = [{'Oscar': 1, 'Latte': 5, 'Lucky':2}, {'Olive':1, 'Felix': 3, 'Fluffy': 1}]  
df = pd.DataFrame(data)  
print(df)

output:

Oscar Latte Lucky Olive Felix Fluffy

0 1.0 5.0 2.0 NaN NaN NaN

1 NaN NaN NaN 1.0 3.0 1.0


6. zip() fonksiyonu kullanarak Data Frame oluşturma

zip() fonksiyonu iki listeyi birleştirmek için kullanılan bir fonksiyondur.

Name = ['Oscar', 'Latte', 'Lucky', 'Oliver']  
  
Age = [1, 5, 2, 4]  
  

zipped = list(zip(Name, Age))  

dframe = pd.DataFrame(zipped, columns=['Name', 'Age'])  
  
print(dframe)  

output:

Name Age

0 Oscar 1

1 Latte 5

2 Lucky 2

3 Oliver 4


7. Sözlük Dizisinden Data Frame oluşturma

cats = {'Name' : pd.Series(['Oscar', 'Latte', 'Lucky', 'Oliver'], index =[0,1,2,3]),  
   'Age' : pd.Series([1, 5, 2, 4], index =[0,1,2,3])}  
  
df = pd.DataFrame(cats)  
  
print(df)  

output:

Name Age

0 Oscar 1

1 Latte 5

2 Lucky 2

3 Oliver 4


Csv Dosyasından Data Frame'e

Var olan bir csv dosyasından Data Frame oluşturulabilir. Pandas kütüphanesinin read_csv() fonksiyonuna dosyayı argüman vererek bir Data Frame oluşturulur.


cats = pd.read_csv('cats.csv')
print(cats)

output:

Name Age

0 Oscar 1

1 Latte 5

2 Lucky 2

3 Oliver 4


Basit Data Frame işlemleri

.head()

DataFrame'in ilk bir kaç satırını döndürür. Argüman verilerek kaç satır döneceği belirlenebilir.


print(cats.head())

output:

Name Age

0 Oscar 1

1 Latte 5

2 Lucky 2

3 Oliver 4


 print(cats.head(2))

Name Age

0 Oscar 1

1 Latte 5


.info()

Sütun adları, içerdikleri veri türleri ve eksik değer olup olmadığını döndüren fonksiyondur.

print(cats.info())

output:

<class 'pandas.core.frame.DataFrame'>

RangeIndex: 4 entries, 0 to 3

Data columns (total 2 columns):

# Column Non-Null Count Dtype

--- ------ -------------- -----

0 Name 4 non-null object

1 Age 4 non-null int64

dtypes: int64(1), object(1)

memory usage: 192.0+ bytes

None


.shape

Satır sayısını ve sütun sayısını döndürür. Bu bir yöntem yerine nitelik olduğundan parantezsiz yazılır.


 print(cats.shape)

output:

(4, 2)


.describe()

Ortalama ve medyan gibi sayısal sütunlar için bazı özet istatistikleri hesaplar.


 print(cats.describe())

output:

Age

count 4.000000

mean 3.000000

std 1.825742

min 1.000000

25% 1.750000

50% 3.000000

75% 4.250000

max 5.000000


Data Frame bileşenleri

.values()

2 boyutlu bir numpy dizisideki veri değerlerini içerir

.columns

sütun adlarını döndürür.

.index

Satır numara ya da adlarını döndürür.


 print(cats.columns)

output:

Index(['Name', ' Age'], dtype='object')


print(cats.index)

output:

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






bottom of page