Pandas DataFrame Sütun Başlıklarının Çıkarılması ve İşlenmesi
Python veri bilimi ekosisteminin temel taşlarından biri olan Pandas, DataFrame sütun başlıklarıyla sorunsuz bir şekilde etkileşim kurmanın yollarını sunar. Bu kılavuz, hem tek seviyeli hem de çok seviyeli sütun yapılarına yönelik olarak bu başlıkları çıkarma ve işlemeyle ilgili çeşitli teknikleri ayrıntılarıyla açıklamaktadır.
İçerik Tablosu
- Tek Seviyeli Başlıklara Erişim
- Çoklu İndeksli Sütunların İşlenmesi
- Pratik Uygulamalar
- Hata İşleme ve Güvenilirlik
- Gelişmiş Teknikler (deneyimli kullanıcılar için)
Tek Seviyeli Başlıklara Erişim
Tek seviyeli sütun başlıklarına sahip DataFrame’ler için, bunlara erişim oldukça basittir. .columns
özniteliği, etiketlenmiş bir dizi gibi davranan bir Pandas Index nesnesi döndürür. Yerleşik list()
fonksiyonunu kullanarak bunu doğrudan bir listeye dönüştürmek kolaydır.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 28],
'City': ['New York', 'London', 'Paris']}
df = pd.DataFrame(data)
# Başlıklara Pandas Index olarak erişim
headers_index = df.columns
# Python listesine dönüştürme
headers_list = list(df.columns)
print("Index Olarak Başlıklar:", headers_index)
print("Liste Olarak Başlıklar:", headers_list)
Çoklu İndeksli Sütunların İşlenmesi
Çoklu İndeksli sütunlara (hiyerarşik sütun düzenlemesi) sahip DataFrame’lerle çalışırken, başlıklara erişim daha incelikli bir yaklaşım gerektirir. .columns
özniteliği hala bir Pandas Index döndürür, ancak bu Index artık çok katmanlıdır. Liste gösterimindeki her bir öğe, hiyerarşik seviyeleri yansıtan bir demet olur.
# Çoklu İndeksli sütunlara sahip örnek DataFrame
data2 = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 28],
'City': ['New York', 'London', 'Paris']}
df2 = pd.DataFrame(data2)
df2 = df2.set_index(['Name', 'Age']) #Çoklu İndeks Oluşturma
multiindex_headers = df2.columns
multiindex_list = list(multiindex_headers)
print("Liste Olarak Çoklu İndeksli Başlıklar:", multiindex_list)
# Bireysel seviyelere erişim
level_0 = [col[0] for col in multiindex_list] # İlk seviyeye erişim
print("0. Seviye:", level_0)
# Çoklu İndeks listesinin düzleştirilmesi
import itertools
flattened_list = list(itertools.chain(*multiindex_list))
print("Düzleştirilmiş Liste:", flattened_list)
Pratik Uygulamalar
Sütun başlıklarının çıkarılması, aşağıdakiler de dahil olmak üzere birçok veri işleme görevinde faydalıdır:
- Dinamik olarak rapor başlıkları veya etiketleri oluşturma.
- Etiketlenmiş eksenlere sahip özel veri görselleştirmeleri oluşturma.
- Başlık adlarına göre seçici sütun işlemleri gerçekleştirme.
- Başlık bilgilerine göre veri temizleme veya ön işlemeyi kolaylaştırma.
Hata İşleme ve Güvenilirlik
DataFrame’inizin boş olabileceği veya beklenmedik sütun yapılarına sahip olabileceği senaryoları her zaman göz önünde bulundurun. Bu durumlar için kontroller eklemek, kodunuzun güvenilirliğini artırır:
if not df.empty:
headers = list(df.columns)
# 'headers' kullanarak daha fazla işlem yapın
else:
print("DataFrame boş!")
Gelişmiş Teknikler (deneyimli kullanıcılar için)
Daha karmaşık sütun yapıları veya özelleştirilmiş başlık işlemleri için, şunlar gibi gelişmiş Pandas işlevlerini kullanmayı düşünün:
df.columns.tolist()
: Listeye dönüştürmek için daha özlü bir yöntem.df.columns.map(lambda x: x.lower())
: Başlık adlarını değiştirmek için dize işlemleri uygulama.df.rename(columns={'old_name': 'new_name'})
: Sütun adlarını sistematik olarak değiştirme.