Pandas, veri manipülasyonu ve analizi için güçlü bir Python kütüphanesidir. Sıklıkla, daha kolay analiz için Python sözlüklerinde saklanan verileri Pandas DataFrame’lerine dönüştürmeniz gerekir. Bu makale, çeşitli sözlük yapılarını ele alarak, bu dönüşümü verimli bir şekilde gerçekleştirmenin çeşitli yöntemlerini açıklamaktadır.
İçindekiler Tablosu
pandas.DataFrame()
‘i Doğrudan Kullanmapandas.DataFrame.from_dict()
‘i Kullanma- Düzensiz Sözlük Yapılarını Ele Alma
1. pandas.DataFrame()
‘i Doğrudan Kullanma
En basit yaklaşım, sözlüğünüzü doğrudan pandas.DataFrame()
yapıcı fonksiyonuna geçirmeyi içerir. Bununla birlikte, sonuç sözlüğünüzün yapısına önemli ölçüde bağlıdır.
Senaryo 1: Değerler olarak liste/dizi içeren sözlükler
Bu en basit durumdur. Her anahtar bir sütun adı olur ve karşılık gelen liste veya dizi sütunun verilerini oluşturur.
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
print(df)
Çıktı:
col1 col2 col3
0 1 4 7
1 2 5 8
2 3 6 9
Senaryo 2: Sözlüklerin sözlükleri veya sözlüklerin listeleri
İç içe geçmiş sözlükler veya sözlüklerin listeleri için davranış değişir. Pandas yapıyı farklı yorumlar, iç sözlükler tutarlıysa genellikle istenen sonucu üretir.
data = [{'col1': 1, 'col2': 4, 'col3': 7}, {'col1': 2, 'col2': 5, 'col3': 8}, {'col1': 3, 'col2': 6, 'col3': 9}]
df = pd.DataFrame(data)
print(df)
Bu, Senaryo 1 ile aynı çıktıyı verir. Bununla birlikte, tutarsızlıklar (eksik anahtarlar) sorunlara neden olabilir. Güvenilir sonuçlar için tutarlı bir veri yapısı sağlayın.
2. pandas.DataFrame.from_dict()
‘i Kullanma
from_dict()
yöntemi, sözlüğün nasıl yorumlanacağını belirten orient
parametresi aracılığıyla daha fazla kontrol sağlar:
'columns'
: Yukarıdaki Senaryo 1’e benzer.'index'
: Anahtarlar indeksi oluşturur, değerler tek bir sütun oluşturur.'rows'
: Bir listedeki her sözlük bir satırı temsil eder.
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame.from_dict(data, orient='columns')
print(df)
data2 = {'col1': 10, 'col2': 20, 'col3': 30}
df2 = pd.DataFrame.from_dict(data2, orient='index', columns=['Value'])
print(df2)
data3 = [{'col1': 1, 'col2': 4, 'col3': 7}, {'col1': 2, 'col2': 5, 'col3': 8}, {'col1': 3, 'col2': 6, 'col3': 9}]
df3 = pd.DataFrame.from_dict(data3, orient='rows')
print(df3)
3. Düzensiz Sözlük Yapılarını Ele Alma
Tutarlı olmayan anahtarlara veya değerlere sahip sözlükler için ön işleme çok önemlidir. Şunlar gibi teknikleri kullanmayı düşünün:
- Eksik değerleri doldurma: Eksik değerleri bir varsayılan değerle (örneğin, 0 veya NaN) değiştirmek için
fillna()
kullanın. - Veri temizleme: Veri türlerini standartlaştırın ve dönüştürmeden önce tutarsızlıkları ele alın.
- Veri dönüştürme: Sözlüğünüzü DataFrame oluşturmaya uygun daha düzenli bir formata yeniden yapılandırın.
Sözlüğünüzün yapısını dikkatlice inceleyerek ve uygun Pandas yöntemini kullanarak, analiz için güvenilir ve verimli bir şekilde DataFrame’ler oluşturabilirsiniz.