logo

pandalar erir()

Pandas.melt() işlevi şunun için kullanılır: pivotu açmak DataFrame'i geniş formattan uzun formata dönüştürün.

Ana görevi, bir DataFrame'i, bazı sütunların tanımlayıcı değişkenler olduğu ve geri kalan sütunların ölçülen değişkenler olarak kabul edildiği, satır eksenine özetlenmediği bir formata dönüştürmektir. Yalnızca iki tanımlayıcı olmayan sütun bırakır; değişken ve değer.

ekleme sıralama algoritması

Sözdizimi

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

Parametreler

    çerçeve:DataFrame'i ifade eder.id_vars[tuple, list veya ndarray, isteğe bağlı]:Tanımlayıcı değişkenler olarak kullanılacak sütunları ifade eder.value_vars[tuple, list veya ndarray, isteğe bağlı]:Özeti kaldırılacak sütunları ifade eder. Belirtilmemişse id_vars olarak ayarlanmayan tüm sütunları kullanın.var_adı[skaler]:'Değişken' sütunu için kullanılacak adı ifade eder. Yok ise, çerçeve.sütunlar.adı veya 'değişken'i kullanır.değer_adı[skaler, varsayılan 'değer']:'Değer' sütunu için kullanılacak adı ifade eder.col_level[int veya string, isteğe bağlı]: Sütunlar MultiIndex ise erimek için bu düzeyi kullanır.

İadeler

Özetlenmemiş DataFrame'i çıktı olarak döndürür.

Örnek

 # importing pandas as pd import pandas as pd # creating a dataframe info = pd.DataFrame({'Name': {0: 'Parker', 1: 'Smith', 2: 'John'}, 'Language': {0: 'Python', 1: 'Java', 2: 'C++'}, 'Age': {0: 22, 1: 30, 2: 26}}) # Name is id_vars and Course is value_vars pd.melt(info, id_vars =['Name'], value_vars =['Language']) info 

Çıktı

belge.sorgu seçici
 Name Language Age 0 Parker Python 22 1 Smith Java 30 2 John C++ 26 

Örnek2

 import pandas as pd info = pd.DataFrame({'A': {0: 'p', 1: 'q', 2: 'r'}, 'B': {0: 40, 1: 55, 2: 25}, 'C': {0: 56, 1: 62, 2: 42}}) pd.melt(info, id_vars=['A'], value_vars=['C']) pd.melt(info, id_vars=['A'], value_vars=['B', 'C']) pd.melt(info, id_vars=['A'], value_vars=['C'], var_name='myVarname', value_name='myValname') 

Çıktı

 A myVarname myValname 0 p C 56 1 q C 62 2 r C 42