Data Science

Python Sözlüklerini Pandas DataFrame’lerine Etkin Şekilde Dönüştürme

Spread the love

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

  1. pandas.DataFrame()‘i Doğrudan Kullanma
  2. pandas.DataFrame.from_dict()‘i Kullanma
  3. 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.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir