
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ść obiektuDataFrame
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.
Opanuj analizę danych w Pythonie z moim kursem!
Opanujesz podstawy programowania w Pythonie, w tym typy danych, zmienne, listy, słowniki, funkcje oraz obsługę błędów. Nauczysz się korzystać z biblioteki pandas do zaawansowanej analizy danych i pracy z różnymi rodzajami danych. Zrozumiesz proces analizy, eksploracji (EDA) i wizualizacji. Tworzenie własnych funkcji przygotuje Cię do rozmów kwalifikacyjnych i rozwiązywania rzeczywistych problemów biznesowych.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.