Pandas Melt Fonksiyonuyla Verilerinizi Yeniden Şekillendirin

Bu bölümde, Pandas'ın melt() fonksiyonunun nasıl kullanacağını öğreneceğiz. pd.melt() fonksiyonu, bir Pandas yapısını geniş formattan uzun formata yeniden şekillendirmek için kullanılır. Bunun anlamı, bir veya daha fazla sütunun tanımlayıcı olarak kullanılması ve diğer tüm sütunların değer olarak kullanılmasıdır. Kısacası bu fonksiyon, Veri Çerçevenizi Özet Tablo (pivot_table() fonksiyonu) kullanmadan, biçimlendirmenizi sağlar.

Bu bölümün sonunda şunları öğrenmiş olacaksınız:

Verileri Yeniden Şekillendirmek için Neden Pandas'ın melt() Fonksiyonunu Kullanmalısınız?

Bu fonksiyon, internetten bulduğunuz veya size bir meslektaşınız tarafından geniş biçimli veri sunulduğunda, bu verileri işlemek konusunda yararlı olacaktır. Bu verilerin anlaşılması kolaydır, ancak başka bir analiz biçimine çevirmek/yeniden şekilendirmek daha zordur. Örneğin, verileriniz ile bir pivot tablosu oluşturmak istiyorsanız, o zaman melt() fonksiyonu uygulanmış verilere sahip olmak, size çok yardımcı olacaktır.

Örnek Veri Çerçevesi (DataFrame) Yüklemek

Geniş formatta yani sütun sayısı fazla olan örnek bir veri çerçevesi yükleyerek başlayalım:

import pandas as pd

df = pd.DataFrame(
    {'Ad': ['Burak', 'Halil', 'Emre', 'Ersin', 'Sertaç', 'Seydi'],
    'Yaş': [44, 42, 35, 40, 52, 47],
    'Eğitim Durumu': ['Doktora', 'Lisans', 'MBA', 'Yüksek Lisans', 'MBA', 'Lisans'],
    'Kazanç': [100000,120000, 85000, 75000, 95000, 80000]})

Gördüğünüz gibi geniş formatta bir veri setimiz oluştu. Veri setimize göz atalım:

print(df)
Ad Yaş Eğitim Durumu Kazanç
0 Burak 44 Doktora 100000
1 Halil 42 Lisans 120000
2 Emre 35 MBA 85000
3 Ersin 40 Yüksek Lisans 75000
4 Sertaç 52 MBA 95000
5 Seydi 47 Lisans 80000

Pandas Melt Fonksiyonunun Sözdizimi nedir?

melt() fonksiyonunun/işlevinin genel sözdizimi biçimi şöyle görünür:

pandas.melt(
   dataframe, 
   id_vars=None, 
   value_vars=None, 
   var_name=None, 
   value_name='value', 
   col_level=None
)

Bu parametrelere biraz daha ayrıntılı bakalım:

Pandas Melt Fonksiyonunu Kullanarak Verilerimizin Nasıl Tekrar Şekillendirebiliriz?

Veri kümesini çözmek/yeniden şekillendirmek için Pandas melt() fonksiyonunu nasıl kullanabileceğimize bir göz atalım.
Daha önce öğrendiklerimiz gibi, melt() fonksiyonunu kullanmak için bir veri çerçevesi atamamız gerekiyor:

melted = pd.melt(
   df, 
   id_vars = 'Ad', 
   var_name = 'Özellik', 
   value_name = 'Değer')

print(melted)
Ad variable value
0 Burak Yaş 44
1 Halil Yaş 42
2 Emre Yaş 35
3 Ersin Yaş 40
4 Sertaç Yaş 52
5 Seydi Yaş 47
6 Burak Eğitim Durumu Doktora
7 Halil Eğitim Durumu Lisans
8 Emre Eğitim Durumu MBA
9 Ersin Eğitim Durumu Yüksek Lisans
10 Sertaç Eğitim Durumu MBA
11 Seydi Eğitim Durumu Lisans
12 Burak Kazanç 100000
13 Halil Kazanç 120000
14 Emre Kazanç 85000
15 Ersin Kazanç 75000
16 Sertaç Kazanç 95000
17 Seydi Kazanç 80000

Kodlara value_vars parametresini, kod bloğuna dahil etmediğimize dikkat edin. Tüm verilerimizi çözmek/yeniden şekillendirmek istediğimiz için bu parametreyi kullanmadık.

Bu, aşağıdaki kodu yazmakla aynıdır. Bunların her ikisi de aynı (yukarıdaki) çıktıyı verir/döndürür:

melted = pd.melt(
   df, 
   id_vars = 'Ad', 
   value_vars = ['Yaş', 'Eğitim Durumu', 'Kazanç'], 
   var_name = 'Özellik', 
   value_name = 'Değer'
)

print(melted)

SONUÇ

Bu bölümde, Pandas kütüphanesinin melt() fonksiyonu aracılığı ile sadece birkaç satır kod yazarak, geniş bir veri kümesini, pivot_table() ve benzeri yapılarla kolayca işleyip daha fazla analiz yapabilmemizi sağlayacak, çok daha kullanışlı bir veri kümesine dönüştürmenin ne kadar kolay olduğunu öğrendik.

Kaynak

Bu dokümanın hazırlanmasında yararlandığım web adresini aşağıda paylaşıyorum.
https://datagy.io/using-the-pandas-melt-function-in-python-to-unpivot-data/

← Önceki Bölüm