Pandy: jak zmienić kształt dataframe z długiej na szeroką


Możesz użyć następującej podstawowej składni, aby przekonwertować ramkę danych pandy z formatu długiego na szeroki:

 df = pd. pivot (df, index=' col1 ', columns=' col2 ', values=' col3 ')

W tym scenariuszu col1 stanie się indeksem, col2 stanie się kolumnami, a col3 zostanie użyty jako wartości wewnątrz DataFrame.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: zmień kształt ramki danych Pandas z długiej na szeroką

Załóżmy, że mamy następującą ramkę DataFrame pand w długim formacie:

 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

Możemy użyć następującej składni, aby przekształcić tę ramkę danych z formatu długiego na format szeroki:

 #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 ma teraz szeroki format.

Użyliśmy „zespołu” jako kolumny indeksu, „gracza” jako kolumny i „punktów” jako wartości wewnątrz DataFrame.

Zauważ, że zamiast tego moglibyśmy użyć „gracza” jako kolumny indeksu i „zespołu” jako kolumny, jeśli chcemy:

 #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

Ta ramka danych jest również w szerokim formacie.

Uwaga : pełną dokumentację funkcji przestawnej pandy() można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w Pythonie:

Pandy: Jak zmienić kształt ramki danych z szerokiej na długą
Jak dodać wiersze do ramki danych Pandas
Jak dodać kolumny do ramki danych Pandas
Jak zliczać wystąpienia określonych wartości w Pandas DataFrame

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *