Python Pandas Modülü

Herkese merhaba, Python yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda Pandas modülünü anlatacağım. Hadi başlayalım !
Table of Contents
Python dilinde kullanılan birçok kütüphane arasında Pandas, veri manipülasyonu için sıklıkla kullanılan bir kütüphanedir. Pandas, büyük veri setlerini etkili bir şekilde işlemek, veri önişleme, veri analizi, veri keşfi ve veri görselleştirme gibi işlemleri gerçekleştirmek için kullanılan bir araçtır. Pandas kütüphanesi ile veri manipülasyonu oldukça kolaylaştırılmıştır.
Kurulum
Pandas kütüphanesi, pip aracılığıyla kolayca yüklenir. Aşağıdaki komutu kullanarak Pandas kütüphanesini yükleyebilirsiniz:
pip install pandas
Yapı
Pandas, iki temel veri tipi olan Seriler ve DataFrame’lerden oluşur. Bir Seri, tek boyutlu bir veri yapısıdır ve bir DataFrame ise çok boyutlu bir veri yapısıdır. DataFrame, Serilerin birleştirilmesiyle oluşur ve tablo benzeri bir yapıdadır.
Kullanım
Seriler
Bir Seri oluşturmak için, pandas kütüphanesinin Series() fonksiyonunu kullanabilirsiniz. Aşağıdaki örnekte, bir Seri oluşturulurken bir Python listesi kullanılmıştır:
import pandas as pd
my_list = [10, 20, 30, 40, 50]
my_series = pd.Series(my_list)
print(my_series)
Çıktı:
0 10
1 20
2 30
3 40
4 50
dtype: int64
DataFrame’ler
Bir DataFrame oluşturmak için, pandas kütüphanesinin DataFrame() fonksiyonunu kullanabilirsiniz. Aşağıdaki örnekte, bir DataFrame oluşturmak için bir Python sözlüğü kullanılmıştır:
import pandas as pd
my_dict = {'name': ['Ali', 'Ayşe', 'Ahmet', 'Fatma', 'Mehmet'],
'age': [20, 25, 30, 35, 40],
'gender': ['male', 'female', 'male', 'female', 'male']}
my_dataframe = pd.DataFrame(my_dict)
print(my_dataframe)
Çıktı:
name age gender
0 Ali 20 male
1 Ayşe 25 female
2 Ahmet 30 male
3 Fatma 35 female
4 Mehmet 40 male
Veri Dosyaları Okuma ve Yazma
Pandas, birçok farklı veri dosyası formatını okuyabilir ve yazabilir. Aşağıdaki örneklerde, bir CSV dosyası okunur ve bir Excel dosyasına yazılır:
import pandas as pd
# CSV dosyası okuma
my_data = pd.read_csv('my_data.csv')
# Excel dosyasına yazma
my_data.to_excel('my_data.xlsx')
Veri Seçimi ve Filtreleme
Pandas, veri seçimi ve filtreleme için birçok seçenek sunar. Aşağıdaki örnekte, bir DataFrame’den belirli bir sütun seçilir ve belirli bir koşulu sağlayan satırlar filtrelenir:
import pandas as pd
my_dict = {'name': ['Ali', 'Ayşe', 'Ahmet', 'Fatma', 'Mehmet'],
'age': [20, 25, 30, 35, 40],
'gender': ['male', 'female', 'male', 'female', 'male']}
my_dataframe = pd.DataFrame(my_dict)
# Sadece name sütununu seçme
name_column = my_dataframe['name']
# Yaşları 30'dan büyük olan satırları filtreleme
age_filter = my_dataframe['age'] > 30
filtered_data = my_dataframe[age_filter]
print(name_column)
print(filtered_data)
Çıktı:
0 Ali
1 Ayşe
2 Ahmet
3 Fatma
4 Mehmet
Name: name, dtype: object
name age gender
3 Fatma 35 female
4 Mehmet 40 male
Veri Gruplama ve Toparlama
Pandas, verileri gruplama ve toplama işlemleri için kullanılabilir. Aşağıdaki örnekte, bir DataFrame’deki veriler belirli bir kritere göre gruplandırılır ve toplam yaşı hesaplanır:
import pandas as pd
my_dict = {'name': ['Ali', 'Ayşe', 'Ahmet', 'Fatma', 'Mehmet'],
'age': [20, 25, 30, 35, 40],
'gender': ['male', 'female', 'male', 'female', 'male']}
my_dataframe = pd.DataFrame(my_dict)
# Cinsiyete göre gruplama ve yaşların toplamını hesaplama
total_age_by_gender = my_dataframe.groupby('gender')['age'].sum()
print(total_age_by_gender)
Çıktı:
gender
female 60
male 90
Name: age, dtype: int64
Veri Görselleştirme
Pandas, verileri görselleştirmek için de kullanılabilir. Aşağıdaki örnekte, bir DataFrame’deki veriler bir grafik olarak gösterilir:
import pandas as pd
import matplotlib.pyplot as plt
my_dict = {'name': ['Ali', 'Ayşe', 'Ahmet', 'Fatma', 'Mehmet'],
'age': [20, 25, 30, 35, 40],
'gender': ['male', 'female', 'male', 'female', 'male']}
my_dataframe = pd.DataFrame(my_dict)
# Yaşa göre grafik çizdirme
my_dataframe.plot(kind='bar', x='name', y='age')
plt.show()
Veri Manipülasyonu
Pandas, veri manipülasyonu için birçok seçenek sunar. Aşağıdaki örnekte, bir DataFrame’deki veriler belirli bir sütunun değerlerine göre sıralanır:
import pandas as pd
my_dict = {'name': ['Ali', 'Ayşe', 'Ahmet', 'Fatma', 'Mehmet'],
'age': [20, 25, 30, 35, 40],
'gender': ['male', 'female', 'male', 'female', 'male']}
my_dataframe = pd.DataFrame(my_dict)
# Yaşa göre sıralama
sorted_data = my_dataframe.sort_values('age')
print(sorted_data)
Çıktı:
name age gender
0 Ali 20 male
1 Ayşe 25 female
2 Ahmet 30 male
3 Fatma 35 female
4 Mehmet 40 male
Veri Birleştirme
Pandas, veri birleştirme için de kullanılabilir. Aşağıdaki örnekte, iki farklı DataFrame birleştirilir:
import pandas as pd
my_dict1 = {'name': ['Ali', 'Ayşe', 'Ahmet'],
'age': [20, 25, 30],
'gender': ['male', 'female', 'male']}
my_dict2 = {'name': ['Fatma', 'Mehmet', 'Zeynep'],
'age': [35, 40, 45],
'gender': ['female', 'male', 'female']}
my_dataframe1 = pd.DataFrame(my_dict1)
my_dataframe2 = pd.DataFrame(my_dict2)
# İki DataFrame'i birleştirme
merged_data = pd.concat([my_dataframe1, my_dataframe2])
print(merged_data)
Çıktı:
name age gender
0 Ali 20 male
1 Ayşe 25 female
2 Ahmet 30 male
0 Fatma 35 female
1 Mehmet 40 male
2 Zeynep 45 female
Veri Temizleme
Pandas, veri temizleme işlemleri için de kullanılabilir. Aşağıdaki örnekte, bir DataFrame’deki eksik veriler doldurulur:
import pandas as pd
import numpy as np
my_dict = {'name': ['Ali', 'Ayşe', np.nan, 'Fatma', 'Mehmet'],
'age': [20, np.nan, 30, 35, np.nan],
'gender': ['male', 'female', 'male', np.nan, 'male']}
my_dataframe = pd.DataFrame(my_dict)
# Eksik verileri doldurma
filled_data = my_dataframe.fillna('Unknown')
print(filled_data)
Çıktı:
name age gender
0 Ali 20 male
1 Ayşe Unknown female
2 Unknown 30 male
3 Fatma 35 Unknown
4 Mehmet Unknown male
Veri İşleme Hızı
Pandas, büyük veri kümeler üzerinde hızlı bir şekilde çalışır. Aşağıdaki örnekte, 1 milyon satırlık bir DataFrame oluşturulur ve bazı işlemler gerçekleştirilir:
import pandas as pd
import numpy as np
# 1 milyon satırlık bir DataFrame oluşturma
data = pd.DataFrame(np.random.randint(0, 100, (1000000, 4)), columns=list('ABCD'))
# A sütununun ortalamasını alma
mean_a = data['A'].mean()
# B sütununda 50'den büyük olan değerlerin sayısını alma
count_b = data[data['B'] > 50]['B'].count()
# C ve D sütunlarını toplama
sum_cd = data[['C', 'D']].sum()
print('Mean of column A:', mean_a)
print('Count of values in column B that are greater than 50:', count_b)
print('Sum of columns C and D:', sum_cd)
Çıktı:
Mean of column A: 49.986489
Count of values in column B that are greater than 50: 500506
Sum of columns C and D: C 5000282
D 5002424
dtype: int64
Veri Görselleştirme
Pandas, verileri görselleştirmek için de kullanılabilir. Aşağıdaki örnekte, bir DataFrame’deki veriler bir histogramda gösterilir:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 1000 satırlık bir DataFrame oluşturma
data = pd.DataFrame(np.random.randn(1000, 1), columns=['A'])
# Histogramı çizme
data.hist(bins=50)
plt.show()
Veri İçe Aktarma ve İhracat
Pandas, farklı dosya formatlarındaki verileri içe aktarabilir veya verileri farklı dosya formatlarına dışa aktarabilir. Aşağıdaki örnekte, bir CSV dosyasındaki veriler bir DataFrame’e içe aktarılır ve bir Excel dosyasına dışa aktarılır:
import pandas as pd
# CSV dosyasındaki verileri DataFrame'e aktarma
my_dataframe = pd.read_csv('my_data.csv')
# DataFrame'deki verileri Excel dosyasına aktarma
my_dataframe.to_excel('my_data.xlsx', index=False)
Özet
Bu makalede, Pandas modülünün kurulumu, kullanımı, yapısı ve özellikleri hakkında bilgi edindik. Pandas, veri manipülasyonu, veri birleştirme, veri temizleme, veri işleme hızı, veri görselleştirme, veri içe aktarma ve ihracat gibi birçok işlem için kullanılabilir. Pandas, Python için güçlü bir veri analizi aracıdır ve veri analizinin birçok yönünü ele almak için kullanılabilir.
Evet Python’da Pandas modülü bu şekilde. Tüm Python yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.