Data Frame (Veri Çerçevesi) Nedir?
- berilcankutlu
- 2 Mar 2023
- 3 dakikada okunur
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)
Comments