Jak działa pandas t (transpose) w języku Python? Przykład zastosowania

Jak działa pandas t (transpose) w języku Python? Przykład zastosowania
„`html

Pracując z biblioteką pandas w Pythonie, często zdarza się, że dane są zapisane w układzie, który niekoniecznie odpowiada naszym potrzebom. Jednym z przydatnych narzędzi do manipulacji danymi jest transpose(), który umożliwia zamianę kolumn na wiersze i odwrotnie. W tym artykule pokażę, jak działa pandas.T oraz kiedy warto go używać.

Co to jest transpozycja danych?

Transpozycja to operacja zamiany miejscami wierszy i kolumn w macierzy lub tabeli. W kontekście biblioteki pandas, możemy wykonać tę operację na obiektach DataFrame oraz Series. Efektem będzie nowa struktura danych o odwróconych wymiarach.

Podstawowe użycie pandas.T

Obiekt pandas ma wbudowaną właściwość T, która umożliwia szybkie transponowanie danych. Oto przykład:


import pandas as pd

# Tworzymy przykładowy DataFrame
df = pd.DataFrame({
    "A": [1, 2, 3],
    "B": [4, 5, 6],
    "C": [7, 8, 9]
})

print("Oryginalny DataFrame:")
print(df)

# Transpozycja
df_transposed = df.T

print("\nDataFrame po transpozycji:")
print(df_transposed)

Wynik działania powyższego kodu to:


Oryginalny DataFrame:
   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

DataFrame po transpozycji:
   0  1  2
A  1  2  3
B  4  5  6
C  7  8  9

Jak widać, kolumny stały się wierszami, a wiersze – kolumnami.

Transpozycja obiektu Series

Choć transpozycja jest głównie stosowana na obiektach DataFrame, można ją również wykonać na Series. Jednak w przypadku serii jednomiarowej efekt nie będzie spektakularny:


s = pd.Series([10, 20, 30], index=["a", "b", "c"])
print(s.T)  # Działa, ale nie zmienia struktury serii

W praktyce takie użycie jest mniej przydatne, ale nadal jest poprawne składniowo.

Kiedy warto używać transpozycji?

Wykorzystanie transpozycji pandas.T może być przydatne w różnych sytuacjach, na przykład:

  • Gdy mamy dane w formie szerokiej, ale potrzebujemy ich w formie długiej.
  • Podczas przygotowywania raportów, w których lepiej prezentują się odwrócone tabele.
  • Podczas analizy danych, np. gdy kolumny zawierają wartości czasowe, ale wolimy pracować na wierszach.

Różnica między .T a .transpose()

W pandas istnieją dwie metody pozwalające na transpozycję:

  • .T – jest to właściwość obiektu DataFrame i działa jako skrót do .transpose().
  • .transpose() – działa identycznie jak .T, ale pozwala na stosowanie dodatkowych argumentów (choć są one rzadko używane).

Oba sposoby działają praktycznie tak samo, ale dla wygody najczęściej stosuje się T.

Przykład zastosowania transpozycji w praktyce

Załóżmy, że mamy dane finansowe w postaci tabeli. Początkowo są one zapisane w formie szerokiej:


data = {
    "Rok": [2022, 2023],
    "Przychody": [100000, 120000],
    "Koszty": [50000, 60000],
    "Zysk": [50000, 60000]
}

df_finanse = pd.DataFrame(data)
print(df_finanse)

Wynik tego kodu to:

Rok Przychody Koszty Zysk
2022 100000 50000 50000
2023 120000 60000 60000

Teraz możemy zastosować transpozycję, aby uzyskać dane w układzie bardziej przyjaznym do analizy:


df_transponowany = df_finanse.set_index("Rok").T
print(df_transponowany)

Po transpozycji tabela wygląda tak:

2022 2023
Przychody 100000 120000
Koszty 50000 60000
Zysk 50000 60000

Dzięki temu zyskujemy łatwiejszy dostęp do wartości związanych z danym rokiem.

Podsumowanie

Wiesz już, jak działa pandas.T w języku Python i jak wykorzystać transpozycję w praktyce. Jest to proste, ale niezwykle skuteczne narzędzie w analizie danych, które pozwala szybko zamieniać miejsca kolumn i wierszy. Warto o nim pamiętać, zwłaszcza gdy przygotowujemy dane do dalszej analizy lub prezentacji.

„` Inny ciekawy artykuł: Jak działa pandas reset_index w języku Python? Przykład zastosowania
KajoDataSpace