Pandas’ın iki temel veri yapısı, Seriler (Series) ve Veri Çerçeveleri (DataFrames), veri analizi ve manipülasyonunda yaygın olarak kullanılmaktadır. Bu yapılar, verileri işlemek ve analiz etmek için güçlü bir araç seti sağlar.
1. Pandas Serileri (Series)
Pandas Serisi, tek boyutlu etiketli bir dizi gibi düşünülebilir. Her bir eleman, bir indeks ile ilişkilendirilmiştir. Seriler, tek tip verileri depolamak için kullanılır.
Pandas Serisi oluşturma ve temel işlemler:
import pandas as pd
# Pandas Serisi oluşturma
seri = pd.Series([10, 20, 30, 40, 50])
# Serinin içeriğini görüntüleme
print("Serinin İçeriği:")
print(seri)
# Serinin indekslerini görüntüleme
print("\nSerinin İndeksleri:")
print(seri.index)
# Serinin değerlerini görüntüleme
print("\nSerinin Değerleri:")
print(seri.values)
# Belirli bir indeksteki değeri görüntüleme
print("\nSerinin 3. indeksteki değeri:")
print(seri[3])
Çıktı:
Serinin İçeriği:
0 10
1 20
2 30
3 40
4 50
dtype: int64
Serinin İndeksleri:
RangeIndex(start=0, stop=5, step=1)
Serinin Değerleri:
[10 20 30 40 50]
Serinin 3. indeksteki değeri:
40
Yukarıdaki örnekte, bir Pandas Serisi oluşturduk ve ardından Serinin içeriğini, indekslerini, değerlerini ve belirli bir indeksteki değerini görüntüledik.
2. Pandas Veri Çerçeveleri (DataFrames)
Pandas Veri Çerçevesi, iki boyutlu etiketli bir veri tablosu gibi düşünülebilir. Her bir sütun bir Seri nesnesidir ve aynı indekslere sahiptir.
Pandas Veri Çerçevesi oluşturma ve temel işlemler:
# Pandas Veri Çerçevesi oluşturma
data = {'Isim': ['Ali', 'Ayşe', 'Mehmet', 'Zeynep'],
'Yaş': [25, 30, 35, 40],
'Maaş': [5000, 6000, 7000, 8000]}
df = pd.DataFrame(data)
# Veri Çerçevesinin içeriğini görüntüleme
print("Veri Çerçevesinin İçeriği:")
print(df)
# Veri Çerçevesinin sütun isimlerini görüntüleme
print("\nSütun İsimleri:")
print(df.columns)
# Belirli bir sütunu görüntüleme
print("\nYaş Sütunu:")
print(df['Yaş'])
# Belirli bir satırı görüntüleme
print("\n2. Satır:")
print(df.loc[1])
Çıktı:
Veri Çerçevesinin İçeriği:
Isim Yaş Maaş
0 Ali 25 5000
1 Ayşe 30 6000
2 Mehmet 35 7000
3 Zeynep 40 8000
Sütun İsimleri:
Index(['Isim', 'Yaş', 'Maaş'], dtype='object')
Yaş Sütunu:
0 25
1 30
2 35
3 40
Name: Yaş, dtype: int64
2. Satır:
Isim Ayşe
Yaş 30
Maaş 6000
Name: 1, dtype: object
Yukarıdaki örnekte, bir Pandas Veri Çerçevesi oluşturduk ve ardından Veri Çerçevesinin içeriğini, sütun isimlerini, belirli bir sütunu ve belirli bir satırı görüntüledik.
3. Pandas Serileri ve Veri Çerçeveleri ile Veri İşlemleri
Pandas Serileri ve Veri Çerçeveleri, veri işleme ve analizinde geniş bir yelpazede kullanılır. Örneğin, veri filtreleme, sıralama, gruplama ve birleştirme gibi işlemleri gerçekleştirebiliriz.
# Veri Çerçevesinde filtreleme işlemi
filtre = df['Yaş'] > 30
print("\n30 yaşından büyük kişiler:")
print(df[filtre])
# Veri Çerçevesinde sıralama işlemi
siralanmis_df = df.sort_values(by='Maaş', ascending=False)
print("\nMaaşa göre sıralanmış Veri Çerçevesi:")
print(siralanmis_df)
# Veri Çerçevesinde gruplama işlemi
gruplanmis_df = df.groupby('Yaş').mean()
print("\nYaşa göre gruplanmış ortalama Maaş:")
print(gruplanmis_df)
# İki Veri Çerçevesini birleştirme işlemi
data2 = {'Isim': ['Ahmet', 'Fatma'],
'Yaş': [45, 50],
'Maaş': [9000, 10000]}
df2 = pd.DataFrame(data2)
birlesmis_df = pd.concat([df, df2], ignore_index=True)
print("\nİki Veri Çerçevesini birleştirme:")
print(birlesmis_df)
Çıktı:
30 yaşından büyük kişiler:
Isim Yaş Maaş
2 Mehmet 35 7000
3 Zeynep 40 8000
Maaşa göre sıralanmış Veri Çerçevesi:
Isim Yaş Maaş
3 Zeynep 40 8000
2 Mehmet 35 7000
1 Ayşe 30 6000
0 Ali 25 5000
Yaşa göre gruplanmış ortalama Maaş:
Maaş
Yaş
25 5000
30 6000
35 7000
40 8000
İki Veri Çerçevesini birleştirme:
Isim Yaş Maaş
0 Ali 25 5000
1 Ayşe 30 6000
2 Mehmet 35 7000
3 Zeynep 40 8000
4 Ahmet 45 9000
5 Fatma 50 10000
Yukarıdaki örneklerde, Pandas Serileri ve Veri Çerçeveleri ile filtreleme, sıralama, gruplama ve birleştirme gibi yaygın veri işlemlerini gerçekleştirdik. Bu işlemler, veri analizi sürecinde verileri anlamamıza ve sonuçlar elde etmemize yardımcı olur.
4. Veri Çerçevelerinde Eksik Veriler ve Duplicates
Veri analizinde sıkça karşılaşılan problemlerden biri, eksik verilerin işlenmesi ve tekrarlanan verilerin tespit edilmesidir. Pandas, bu tür durumlarla başa çıkmak için çeşitli fonksiyonlar sağlar.
# Eksik verilerin bulunması
print("\nEksik verilerin sayısı:")
print(df.isnull().sum())
# Tekrarlanan satırların bulunması
tekrarlananlar = df.duplicated()
print("\nTekrarlanan satırlar:")
print(tekrarlananlar)
Çıktı:
Eksik verilerin sayısı:
Isim 0
Yaş 0
Maaş 0
dtype: int64
Tekrarlanan satırlar:
0 False
1 False
2 False
3 False
dtype: bool
Bu örnekte, veri çerçevesinde eksik verilerin sayısını kontrol etme ve tekrarlanan satırları tespit etme işlemlerini gerçekleştirdik. Bu tür veri temizleme adımları, veri analizinde güvenilir sonuçlar elde etmek için önemlidir.
5. Veri Çerçeveleri ile İleri Veri İşlemleri
Pandas, veri çerçeveleriyle birçok ileri veri işleme ve analiz işlemi gerçekleştirebilir. Bu işlemler arasında veri dönüştürme, yeni sütunlar oluşturma, veri görselleştirme ve zaman serisi işlemleri bulunmaktadır.
# Yeni bir sütun ekleme
df['YeniSütun'] = df['Yaş'] * 12
print("\nYeni sütun eklendi:")
print(df)
# Sütun adlarını değiştirme
df = df.rename(columns={'Isim': 'Name', 'Yaş': 'Age', 'Maaş': 'Salary'})
print("\nSütun adları değiştirildi:")
print(df)
# Sütun adlarını tekrar eski haline getirelim
df = df.rename(columns={'Name': 'Isim', 'Age': 'Yaş', 'Salary': 'Maaş'})
print("\nSütun adları tekrar değiştirildi:")
print(df)
# Veri çerçevesinden belirli sütunları seçme
print("\nSadece İsim ve Maaş sütunları:")
print(df[['Isim', 'Maaş']])
# Veri çerçevesinden belirli bir aralıktaki satırları seçme
print("\nİlk iki satır:")
print(df.head(2))
# Zaman serisi işlemleri
df['Tarih'] = pd.date_range('20220101', periods=len(df))
print("\nTarih sütunu eklendi:")
print(df)
Çıktı:
Yeni sütun eklendi:
Isim Yaş Maaş YeniSütun
0 Ali 25 5000 300
1 Ayşe 30 6000 360
2 Mehmet 35 7000 420
3 Zeynep 40 8000 480
Sütun adları değiştirildi:
Name Age Salary YeniSütun
0 Ali 25 5000 300
1 Ayşe 30 6000 360
2 Mehmet 35 7000 420
3 Zeynep 40 8000 480
Sütun adları tekrar değiştirildi:
Isim Yaş Maaş YeniSütun
0 Ali 25 5000 300
1 Ayşe 30 6000 360
2 Mehmet 35 7000 420
3 Zeynep 40 8000 480
Sadece İsim ve Maaş sütunları:
Isim Maaş
0 Ali 5000
1 Ayşe 6000
2 Mehmet 7000
3 Zeynep 8000
İlk iki satır:
Isim Yaş Maaş YeniSütun
0 Ali 25 5000 300
1 Ayşe 30 6000 360
Tarih sütunu eklendi:
Isim Yaş Maaş YeniSütun Tarih
0 Ali 25 5000 300 2022-01-01
1 Ayşe 30 6000 360 2022-01-02
2 Mehmet 35 7000 420 2022-01-03
3 Zeynep 40 8000 480 2022-01-04
Yukarıdaki örnekte, Pandas’ın veri çerçeveleriyle birlikte yeni sütunlar ekleme, sütun adlarını değiştirme, belirli sütunları seçme, belirli bir aralıktaki satırları seçme ve zaman serisi işlemleri gerçekleştirme gibi ileri veri işleme işlemlerini gösterdik.
6. Veri Analizi ve İstatistiksel İşlemler
Pandas, veri çerçeveleri üzerinde istatistiksel işlemler gerçekleştirmek için bir dizi fonksiyon sağlar. Bu, verilerinizi daha derinlemesine analiz etmenize ve içerdikleri desenleri keşfetmenize olanak tanır.
# Veri çerçevesinin temel istatistiksel özetini almak
print("\nTemel İstatistiksel Özet:")
print(df.describe())
# Belirli bir sütunun ortalama değerini hesaplama
ortalama_maas = df['Maaş'].mean()
print("\nMaaşların Ortalaması:", ortalama_maas)
# Belirli bir sütunun standart sapmasını hesaplama
standart_sapma_yas = df['Yaş'].std()
print("\nYaşların Standart Sapması:", standart_sapma_yas)
# Korelasyon matrisini hesaplama
korelasyon_matrisi = df.corr()
print("\nKorelasyon Matrisi:")
print(korelasyon_matrisi)
Çıktı:
Temel İstatistiksel Özet:
Yaş Maaş YeniSütun
count 4.000000 4.000000 4.000000
mean 32.500000 6500.000000 390.000000
std 6.454972 1290.994449 77.459667
min 25.000000 5000.000000 300.000000
25% 28.750000 5750.000000 345.000000
50% 32.500000 6500.000000 390.000000
75% 36.250000 7250.000000 435.000000
max 40.000000 8000.000000 480.000000
Maaşların Ortalaması: 6500.0
Yaşların Standart Sapması: 6.454972243679028
Korelasyon Matrisi:
Yaş Maaş YeniSütun
Yaş 1.0 1.0 1.0
Maaş 1.0 1.0 1.0
YeniSütun 1.0 1.0 1.0
Yukarıdaki örnekte, Pandas’ın describe() fonksiyonunu kullanarak veri çerçevesinin temel istatistiksel özetini aldık. Ayrıca, belirli bir sütunun ortalama değerini, standart sapmasını ve veri çerçevesinin korelasyon matrisini hesapladık.
