
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ść obiektuDataFramei 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, PowerBI, Tableau i Pythona z certyfikatami!
🟨 Ekskluzywana ale pomagająca sobie społeczność.
🟩 Ponad 75 godzin materiałów video.
🟨 Spotkania LIVE co miesiąc.
🟩 Mój osobisty mentoring.

