Introduction to DataFrames
Pandas, veri analizi ve manipülasyonu için kullanılan güçlü bir Python kütüphanesidir. Pandas'ın temel veri yapısı, iki boyutlu etiketli bir veri yapısı olan DataFrame'dir. DataFrame, satırlar ve sütunlardan oluşur ve veri tabloları gibi çalışır.
DataFrame Oluşturma
DataFrame oluşturmanın birkaç yolu vardır. İşte bazı yaygın yöntemler:
Python Dictionary'den DataFrame Oluşturma
import pandas as pd
# Dictionary ile DataFrame oluşturma
data = {
"Öğrenci": ["Ali", "Ayşe", "Mehmet", "Fatma", "Ahmet"],
"Matematik": [85, 95, 70, 90, 78],
"Fizik": [90, 85, 80, 92, 75],
"Kimya": [78, 88, 85, 89, 80]
}
df = pd.DataFrame(data)
print(df)
# Çıktı:
# Öğrenci Matematik Fizik Kimya
# 0 Ali 85 90 78
# 1 Ayşe 95 85 88
# 2 Mehmet 70 80 85
# 3 Fatma 90 92 89
# 4 Ahmet 78 75 80
CSV Dosyasından DataFrame Oluşturma
import pandas as pd
# CSV dosyasından DataFrame oluşturma
df = pd.read_csv('ogrenci_notlari.csv')
print(df.head())
# Çıktı (ilk 5 satır):
# Öğrenci Matematik Fizik Kimya Biyoloji İngilizce
# 0 Ali 85 90 78 88 92
# 1 Ayşe 95 85 88 92 90
# 2 Mehmet 70 80 85 75 78
# 3 Fatma 90 92 89 90 85
# 4 Ahmet 78 75 80 85 88
Excel Dosyasından DataFrame Oluşturma
import pandas as pd
# Excel dosyasından DataFrame oluşturma
df = pd.read_excel('ogrenci_notlari.xlsx')
print(df.head())
# Çıktı (ilk 5 satır):
# Öğrenci Matematik Fizik Kimya Biyoloji İngilizce
# 0 Ali 85 90 78 88 92
# 1 Ayşe 95 85 88 92 90
# 2 Mehmet 70 80 85 75 78
# 3 Fatma 90 92 89 90 85
# 4 Ahmet 78 75 80 85 88
Sorting and Subsetting
DataFrame'leri sıralamak ve alt kümelere ayırmak, veri analizi için yaygın olarak kullanılan işlemlerdir.
DataFrame Sıralama
DataFrame'leri sıralamak için sort_values() ve sort_index() fonksiyonları kullanılır.
sort_values() Fonksiyonu
import pandas as pd
# DataFrame oluşturma
data = {
"Öğrenci": ["Ali", "Ayşe", "Mehmet", "Fatma", "Ahmet"],
"Matematik": [85, 95, 70, 90, 78],
"Fizik": [90, 85, 80, 92, 75],
"Kimya": [78, 88, 85, 89, 80]
}
df = pd.DataFrame(data)
# DataFrame'i 'Matematik' sütununa göre sıralama
sorted_df = df.sort_values(by='Matematik', ascending=False)
print(sorted_df)
# Çıktı:
# Öğrenci Matematik Fizik Kimya
# 1 Ayşe 95 85 88
# 3 Fatma 90 92 89
# 0 Ali 85 90 78
# 4 Ahmet 78 75 80
# 2 Mehmet 70 80 85
sort_index() Fonksiyonu
import pandas as pd
# DataFrame'i index'e göre sıralama
sorted_df_index = df.sort_index(ascending=True)
print(sorted_df_index)
# Çıktı:
# Öğrenci Matematik Fizik Kimya
# 0 Ali 85 90 78
# 1 Ayşe 95 85 88
# 2 Mehmet 70 80 85
# 3 Fatma 90 92 89
# 4 Ahmet 78 75 80
DataFrame Alt Kümeleri
DataFrame'den belirli satır ve sütunları seçmek için loc ve iloc kullanılır.
loc ile Alt Küme Seçimi
import pandas as pd
# 'Ali' ve 'Ayşe' öğrencilerinin notlarını seçme
subset_df = df.loc[df['Öğrenci'].isin(['Ali', 'Ayşe'])]
print("Subset with loc:\\n", subset_df)
# Çıktı:
# Öğrenci Matematik Fizik Kimya
# 0 Ali 85 90 78
# 1 Ayşe 95 85 88
iloc ile Alt Küme Seçimi
import pandas as pd
# İlk iki satırı ve tüm sütunları seçme
subset_df_iloc = df.iloc[:2, :]
print("Subset with iloc:\\n", subset_df_iloc)
# Çıktı:
# Öğrenci Matematik Fizik Kimya
# 0 Ali 85 90 78
# 1 Ayşe 95 85 88
Adding and Removing Data
Pandas DataFrame'lerine veri eklemek ve çıkarmak, veri manipülasyonunda sıkça yapılan işlemlerdir.
Veri Ekleme
DataFrame'lere satır ve sütun eklemek için çeşitli yöntemler kullanılır.
Yeni Sütun Ekleme
import pandas as pd
# DataFrame'e 'Biyoloji' sütunu ekleme
df['Biyoloji'] = [88, 92, 75, 90, 85]
print(df)
# Çıktı:
# Öğrenci Matematik Fizik Kimya Biyoloji
# 0 Ali 85 90 78 88
# 1 Ayşe 95 85 88 92
# 2 Mehmet 70 80 85 75
# 3 Fatma 90 92 89 90
# 4 Ahmet 78 75 80 85
Yeni Satır Ekleme
import pandas as pd
# Yeni satır eklemek için concat() fonksiyonu
new_row = {'Öğrenci': 'Hasan', 'Matematik': 82, 'Fizik': 88, 'Kimya': 84, 'Biyoloji': 87}
df = pd.concat([df, pd.DataFrame([new_row])], ignore_index=True)
print(df)
# Öğrenci Matematik Fizik Kimya Biyoloji
# 0 Ali 85 90 78 88
# 1 Ayşe 95 85 88 92
# 2 Mehmet 70 80 85 75
# 3 Fatma 90 92 89 90
# 4 Ahmet 78 75 80 85
# 5 Hasan 82 88 84 87
Veri Çıkarma
DataFrame'den satır ve sütun çıkarmak için drop() fonksiyonu kullanılır.
Sütun Çıkarma
import pandas as pd
# 'Biyoloji' sütununu kaldırma
df = df.drop(columns=['Biyoloji'])
print(df)
# Çıktı:
# Öğrenci Matematik Fizik Kimya
# 0 Ali 85 90 78
# 1 Ayşe 95 85 88
# 2 Mehmet 70 80 85
# 3 Fatma 90 92 89
# 4 Ahmet 78 75 80
# 5 Hasan 82 88 84
Satır Çıkarma
import pandas as pd
# 'Mehmet' öğrencisinin olduğu satırı kaldırma
df = df[df['Öğrenci'] != 'Mehmet']
print(df)
# Çıktı:
# Öğrenci Matematik Fizik Kimya
# 0 Ali 85 90 78
# 1 Ayşe 95 85 88
# 3 Fatma 90 92 89
# 4 Ahmet 78 75 80
# 5 Hasan 82 88 84
Aggregating DataFrames
Pandas, veri toplama ve gruplama işlemleri için güçlü fonksiyonlar sunar.
Temel Toplama Fonksiyonları
Toplama
import pandas as pd
# 'Matematik' notlarının toplamı
total_math = df['Matematik'].sum()
print("Total Math Score:", total_math)
# Çıktı: Total Math Score: 430
Ortalama
import pandas as pd
# 'Fizik' notlarının ortalaması
average_physics = df['Fizik'].mean()
print("Average Physics Score:", average_physics)
# Çıktı: Average Physics Score: 86.0
Gruplama ve Toplama
groupby() fonksiyonu, verileri belirli bir sütuna göre gruplamayı sağlar ve ardından toplama işlemleri uygulanabilir.
Örnek:
import pandas as pd
# Yeni DataFrame oluşturma
data = {
"Öğrenci": ["Ali", "Ayşe", "Mehmet", "Fatma", "Ahmet", "Hasan", "Zeynep", "Hüseyin", "Elif", "Mert"],
"Sınıf": ["A", "B", "A", "B", "A", "B", "A", "B", "A", "B"],
"Matematik": [85, 95, 70, 90, 78, 82, 88, 75, 92, 80],
"Fizik": [90, 85, 80, 92, 75, 88, 91, 77, 89, 85]
}
df = pd.DataFrame(data)
# 'Sınıf' sütununa göre gruplama ve 'Matematik' notlarının ortalamasını hesaplama
grouped_df = df.groupby('Sınıf')['Matematik'].mean()
print("Average Math Scores by Class:\\n", grouped_df)
# Çıktı:
# Average Math Scores by Class:
# Sınıf
# A 82.6
# B 84.4
# Name: Matematik, dtype: float64
Bu dersin altıncı partı ile Pandas DataFrame'lerine giriş yaptık, DataFrame oluşturmayı, sıralamayı, alt kümelere ayırmayı, veri eklemeyi ve çıkarmayı, ve veri toplama işlemlerini öğrendik. Bir sonraki partta, Pandas ile daha ileri seviye veri analizi tekniklerini inceleyeceğiz.
Python temellerini atıp, veri analizi ve bilimi için yetkinlik kazanmak istiyorsanız, 1 aylık yoğun Python kampına hemen kayıt olabilirsiniz. ~40 saat canlı ders, ~50 adet kapsamlı proje, ~15 adet quiz ve sayısız kodlama egzersizinden oluşan, Finlandiya eğitim modellerinden esinlenilerek Helsinki'de geliştirilen interaktif ve pratik odaklı eğitim programına hemen göz atın !