Pandalar: dataframe'i uzundan genişe nasıl yeniden şekillendirebilirim?
Pandas DataFrame’i uzun formattan geniş formata dönüştürmek için aşağıdaki temel sözdizimini kullanabilirsiniz:
df = pd. pivot (df, index=' col1 ', columns=' col2 ', values=' col3 ')
Bu senaryoda col1 indeks olacak, col2 sütun olacak ve col3 DataFrame içindeki değerler olarak kullanılacaktır.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: Pandas DataFrame’i Uzundan Genişe Yeniden Şekillendirme
Aşağıdaki pandaların DataFrame’inin uzun formatta olduğunu varsayalım:
import pandas as pd #create DataFrame in long format df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' player ': [1, 2, 3, 4, 1, 2, 3, 4], ' points ': [11, 8, 10, 6, 12, 5, 9, 4]}) #view DataFrame df team player points 0 to 1 11 1 to 2 8 2 to 3 10 3 to 4 6 4 B 1 12 5 B 2 5 6 B 3 9 7 B 4 4
Bu DataFrame’i uzun formattan geniş formata yeniden şekillendirmek için aşağıdaki sözdizimini kullanabiliriz:
#reshape DataFrame from long format to wide format
df = pd. pivot (df, index=' team ', columns=' player ', values=' points ')
#view updated DataFrame
df
player 1 2 3 4
team
A 11 8 10 6
B 12 5 9 4
DataFrame artık geniş bir formattadır.
DataFrame’in içindeki indeks sütunu olarak “takım”, sütunlar olarak “oyuncu” ve değerler olarak “puanları” kullandık.
İstersek bunun yerine dizin sütunu olarak “oyuncu”yu ve sütunlar olarak “takım”ı kullanabileceğimizi unutmayın:
#reshape DataFrame from long format to wide format
df = pd. pivot (df, index=' player ', columns=' team ', values=' points ')
#view updated DataFrame
df
team A B
player
1 11 12
2 8 5
3 10 9
4 6 4
Bu DataFrame de geniş formattadır.
Not : Pandas pivot() işlevinin tam belgelerini burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde Python’da diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandalar: DataFrame’i genişten uzuna nasıl yeniden şekillendirebilirim?
Pandas DataFrame’e satırlar nasıl eklenir
Pandas DataFrame’e sütunlar nasıl eklenir
Pandas DataFrame’de belirli değerlerin oluşumları nasıl sayılır?