Jak analizować dane z biblioteką Pandas. Praktyczne wprowadzenie. Wydanie 2 - ebook
Jak analizować dane z biblioteką Pandas. Praktyczne wprowadzenie. Wydanie 2 - ebook
Wprawny analityk potrafi się posługiwać zbiorami danych o wysokiej dynamice i różnorodności. Działanie to ułatwia biblioteka open source Pandas, która pozwala, przy użyciu języka Python, zrealizować niemal każde zadanie wymagające analizy danych. Pandas może pomóc w zapewnieniu wiarygodności danych, wizualizowaniu ich pod kątem efektywnego podejmowania decyzji i analizowaniu wielu zbiorów danych.
Oto drugie, zaktualizowane i uzupełnione wydanie przewodnika po bibliotece Pandas. Dzięki tej przystępnej książce nauczysz się w pełni korzystać z możliwości oferowanych przez bibliotekę, nawet jeśli dopiero zaczynasz przygodę z analizą danych w Pythonie. Naukę rozpoczniesz z użyciem rzeczywistego zbioru danych, aby wkrótce rozwiązywać złożone problemy danologii, takie jak obsługa brakujących danych, stosowanie regularyzacji czy też używanie metod nienadzorowanego uczenia maszynowego do odnajdywania podstawowej struktury w zbiorze danych. Pracę z poszczególnymi zagadnieniami ułatwia to, że zostały one zilustrowane prostymi, ale praktycznymi przykładami.
W książce:
- importowanie i eksportowanie danych, przygotowywanie ich zbiorów
- tworzenie wykresów za pomocą bibliotek matplotlib, seaborn i Pandas
- konwersja typów danych
- skalowanie operacji przetwarzania danych
- zaawansowane możliwości biblioteki Pandas powiązane z datami i czasem
- dopasowywanie modeli liniowych przy użyciu bibliotek statsmodels i scikit-learn
Analizuj zbiory danych i odkrywaj ukrytą w nich wiedzę!
Spis treści
Słowo wstępne do wydania drugiego
Słowo wstępne do wydania pierwszego
Przedmowa
Podziękowania
O autorze
Zmiany w wydaniu drugim
Część I. Wprowadzenie
- Rozdział 1. Typ danych DataFrame biblioteki Pandas - podstawy
- 1.1. Wprowadzenie
- Cele rozdziału
- 1.2. Ładowanie pierwszego zbioru danych
- 1.3. Sprawdzanie kolumn, wierszy i komórek
- 1.3.1. Wybieranie i określanie podzbioru kolumn na podstawie nazwy
- 1.3.2. Określanie podzbioru wierszy
- 1.3.3. Określanie podzbioru wierszy za pomocą numeru wiersza: atrybut .iloc[\
- 1.3.4. Użycie kombinacji
- 1.3.5. Określanie podzbioru wierszy i kolumn
- 1.4. Obliczenia grupowane i agregowane
- 1.4.1. Średnie grupowane
- 1.4.2. Liczebności grupowane
- 1.5. Podstawowy wykres
- Podsumowanie
- Rozdział 2. Struktury danych biblioteki Pandas - podstawy
- Cele rozdziału
- 2.1. Tworzenie własnych danych
- 2.1.1. Tworzenie obiektu Series
- 2.1.2. Tworzenie obiektu DataFrame
- 2.2. Obiekty Series
- 2.2.1. Obiekt Series przypomina typ ndarray
- 2.2.2. Określanie podzbioru wartości boolowskich: obiekt Series
- 2.2.3. Operacje są automatycznie wyrównywane i wektoryzowane (rozgłaszanie)
- 2.3. Obiekt DataFrame
- 2.3.1. Części obiektu DataFrame
- 2.3.2. Określanie podzbioru wartości boolowskich: obiekty DataFrame
- 2.3.3. Operacje są automatycznie wyrównywane i wektoryzowane (rozgłaszanie)
- 2.4. Wprowadzanie zmian w obiektach Series i DataFrame
- 2.4.1. Dodawanie dodatkowych kolumn
- 2.4.2. Bezpośrednie modyfikowanie kolumny
- 2.4.3. Modyfikowanie kolumn za pomocą metody .assign()
- 2.4.4. Usuwanie wartości
- 2.5. Eksportowanie i importowanie danych
- 2.5.1. "Peklowanie"
- 2.5.2. Format danych CSV
- 2.5.3. Excel
- 2.5.4. Format Feather
- 2.5.5. Projekt Arrow
- 2.5.6. Słownik
- 2.5.7. Format JSON
- 2.5.8. Inne typy danych wyjściowych
- Podsumowanie
- Rozdział 3. Tworzenie wykresów - podstawy
- Cele rozdziału
- 3.1. Dlaczego warto wizualizować dane?
- 3.2. Podstawy obsługi biblioteki matplotlib
- 3.2.1. Obiekty rysunków i podwykresy z osiami
- 3.2.2. Anatomia rysunku
- 3.3. Tworzenie graficznych wizualizacji danych statystycznych za pomocą biblioteki matplotlib
- 3.3.1. Jednozmienność (pojedyncza zmienna)
- 3.3.2. Dwuzmienność (dwie zmienne)
- 3.3.3. Dane wielozmienne
- 3.4. Biblioteka seaborn
- 3.4.1. Jednozmienność
- 3.4.2. Dane dwuzmienne
- 3.4.3. Dane wielozmienne
- 3.4.4. Aspekty
- 3.4.5. Style i kompozycje biblioteki seaborn
- 3.4.6. Jak korzystać z dokumentacji biblioteki seaborn?
- 3.4.7. Interfejs biblioteki seaborn następnej generacji
- 3.5. Metoda tworzenia wykresów za pomocą biblioteki Pandas
- 3.5.1. Histogram
- 3.5.2. Wykres gęstości
- 3.5.3. Wykres punktowy
- 3.5.4. Wykres przedziałów sześciokątnych (hexbin)
- 3.5.5. Wykres pudełkowy
- Podsumowanie
- Rozdział 4. Dane uporządkowane
- Cele rozdziału
- Uwaga dotycząca niniejszego rozdziału
- 4.1. Kolumny zawierają wartości, a nie zmienne
- 4.1.1. Utrwalenie jednej kolumny
- 4.1.2. Utrwalenie wielu kolumn
- 4.2. Kolumny zawierają wiele zmiennych
- 4.2.1. Osobne dzielenie i dodawanie kolumn
- 4.2.2. Dzielenie i łączenie kolumn w jednym kroku
- 4.3. Zmienne znajdują się w wierszach i kolumnach
- Podsumowanie
- Cele rozdziału
- Rozdział 5. Zastosowanie funkcji
- Cele rozdziału
- Uwaga dotycząca niniejszego rozdziału
- 5.1. Elementarz funkcji
- 5.2. Zastosowanie funkcji (podstawy)
- 5.2.1. Zastosowanie funkcji względem obiektu Series
- 5.2.2. Zastosowanie funkcji względem obiektu DataFrame
- 5.3. Funkcje wektoryzowane
- 5.3.1. Wektoryzacja za pomocą biblioteki NumPy
- 5.3.2. Wektoryzacja za pomocą biblioteki Numba
- 5.4. Funkcje lambda (funkcje anonimowe)
- Podsumowanie
- Cele rozdziału
Część II. Przetwarzanie danych
- Rozdział 6. Łączenie danych
- Cele rozdziału
- 6.1. Łączenie zbiorów danych
- 6.2. Konkatenacja
- 6.2.1. Części przeglądowe obiektu DataFrame
- 6.2.2. Dodawanie wierszy
- 6.2.3. Dodawanie kolumn
- 6.2.4. Konkatenacja z różnymi indeksami
- 6.3. Jednostki obserwacyjne w obrębie wielu tabel
- 6.3.1. Ładowanie wielu plików za pomocą pętli
- 6.3.2. Ładowanie wielu plików przy użyciu listy składanej
- 6.4. Scalanie wielu zbiorów danych
- 6.4.1. Scalanie typu "jedna z jedną"
- 6.4.2. Scalanie typu "wiele z jedną"
- 6.4.3. Scalanie typu "wiele z wieloma"
- 6.4.4. Sprawdzanie wyników pracy za pomocą asercji
- Podsumowanie
- Rozdział 7. Normalizacja danych
- Cele rozdziału
- 7.1. Wiele jednostek obserwacyjnych w tabeli (normalizacja)
- Podsumowanie
- Rozdział 8. Operacje grupowania: dzielenie, stosowanie i łączenie
- Cele rozdziału
- 8.1. Agregacja
- 8.1.1. Podstawowa agregacja danych grupowanych z jedną zmienną
- 8.1.2. Wbudowane metody agregacji
- 8.1.3. Funkcje agregacji
- 8.1.4. Użycie wielu funkcji jednocześnie
- 8.1.5. Zastosowanie słownika w metodzie .agg() lub .aggregate()
- 8.2. Transformacja
- 8.2.1. Przykład wyniku standardowego z
- 8.2.2. Przykład z brakującymi wartościami
- 8.3. Filtrowanie
- 8.4. Obiekt pandas.core.groupby.DataFrameGroupBy
- 8.4.1. Grupy
- 8.4.2. Obliczenia w ramach grupowania obejmujące wiele zmiennych
- 8.4.3. Wybieranie grupy
- 8.4.4. Iteracja w obrębie grup
- 8.4.5. Wiele grup
- 8.4.6. "Spłaszczanie" wyników (.reset_index())
- 8.5. Zastosowanie obiektu MultiIndex
- Podsumowanie
Część III. Typy danych
- Rozdział 9. Brakujące dane
- Cele rozdziału
- 9.1. Czym jest wartość NaN?
- 9.2. Skąd biorą się brakujące wartości?
- 9.2.1. Ładowanie danych
- 9.2.2. Scalone dane
- 9.2.3. Wartości wprowadzane przez użytkownika
- 9.2.4. Ponowne indeksowanie
- 9.3. Zajmowanie się brakującymi danymi
- 9.3.1. Znajdowanie brakujących danych i określanie ich ilości
- 9.3.2. Oczyszczanie danych z brakującymi wartościami
- 9.3.3. Obliczenia uwzględniające brakujące dane
- 9.4. Brakująca wartość NA wbudowana w bibliotece Pandas
- Podsumowanie
- Rozdział 10. Typy danych
- Cele rozdziału
- 10.1. Typy danych
- 10.2. Przekształcanie typów
- 10.2.1. Konwersja do postaci obiektów łańcuchów
- 10.2.2. Przekształcanie w wartości liczbowe
- 10.3. Dane kategorialne
- 10.3.1. Przekształcanie w kategorię
- 10.3.2. Przetwarzanie danych kategorialnych
- Podsumowanie
- Rozdział 11. Łańcuchy i dane tekstowe
- Wprowadzenie
- Cele rozdziału
- 11.1. Łańcuchy
- 11.1.1. Określanie podzbioru i dzielenie łańcuchów
- 11.1.2. Uzyskanie ostatniego znaku łańcucha
- 11.2. Metody łańcuchowe
- 11.3. Dodatkowe metody łańcuchowe
- 11.3.1. Metoda join
- 11.3.2. Metoda splitlines
- 11.4. Formatowanie łańcuchów (f-łańcuchy)
- 11.4.1. Formatowanie liczb
- 11.5. Wyrażenia regularne
- 11.5.1. Dopasowanie wzorca
- 11.5.2. Pamiętaj, jakich używasz wzorców wyrażeń regularnych
- 11.5.3. Znajdowanie wzorca
- 11.5.4. Zastępowanie wzorca
- 11.5.5. Kompilowanie wzorca
- 11.6. Biblioteka regex
- Podsumowanie
- Rozdział 12. Daty i godziny
- Cele rozdziału
- 12.1. Obiekt datetime języka Python
- 12.2. Przekształcanie do postaci ramki danych
- 12.3. Ładowanie danych zawierających daty
- 12.4. Wyodrębnianie składników daty
- 12.5. Obliczenia obejmujące daty i obiekty timedelta
- 12.6. Metody obiektu datetime
- 12.7. Uzyskiwanie danych notowań giełdowych
- 12.8. Określanie podzbioru danych na podstawie dat
- 12.8.1. Obiekt DatetimeIndex
- 12.8.2. Obiekt TimedeltaIndex
- 12.9. Zakresy dat
- 12.9.1. Częstotliwości
- 12.9.2. Przesunięcia
- 12.10. Wartości przesuwające
- 12.11. Ponowne próbkowanie
- 12.12. Strefy czasowe
- 12.13. Biblioteka Arrow do lepszej obsługi dat i godzin
- Podsumowanie
Część IV. Modelowanie danych
- Rozdział 13. Regresja liniowa (wynikowa zmienna ciągła)
- 13.1. Prosta regresja liniowa
- 13.1.1. Użycie biblioteki statsmodels
- 13.1.2. Zastosowanie biblioteki scikit-learn (sklearn)
- 13.2. Regresja wielokrotna
- 13.2.1. Użycie biblioteki statsmodels
- 13.2.2. Zastosowanie biblioteki scikit-learn (sklearn)
- 13.3. Modele ze zmiennymi kategorialnymi
- 13.3.1. Zmienne kategorialne w bibliotece statsmodels
- 13.3.2. Zmienne kategorialne w bibliotece scikit-learn (sklearn)
- 13.4. Kodowanie One-Hot w bibliotece scikit-learn z wykorzystaniem potoków transformera
- Podsumowanie
- 13.1. Prosta regresja liniowa
- Rozdział 14. Uogólnione modele liniowe
- Coś o tym rozdziale
- 14.1. Regresja logistyczna (binarna zmienna wyjściowa)
- 14.1.1. Użycie biblioteki statsmodels
- 14.1.2. Zastosowanie biblioteki sklearn
- 14.1.3. Zachowaj ostrożność w przypadku domyślnych wartości biblioteki scikit-learn (sklearn)
- 14.2. Regresja Poissona (ilościowa zmienna wynikowa)
- 14.2.1. Użycie biblioteki statsmodels
- 14.2.2. Ujemna regresja dwumianowa w przypadku nadmiernej dyspersji
- 14.3. Bardziej uogólnione modele liniowe
- Podsumowanie
- Rozdział 15. Analiza przeżycia
- 15.1. Dane analizy przeżycia
- 15.2. Krzywe Kaplana-Meiera
- 15.3. Model proporcjonalnego hazardu Coxa
- 15.3.1. Testowanie założeń modelu Coxa
- Podsumowanie
- Rozdział 16. Diagnostyka modeli
- 16.1. Residua
- 16.1.1. Wykresy kwantylowe K-K
- 16.2. Porównanie wielu modeli
- 16.2.1. Korzystanie z modeli liniowych
- 16.2.2. Zastosowanie uogólnionych modeli liniowych
- 16.3. Walidacja krzyżowa k-krotna
- Podsumowanie
- 16.1. Residua
- Rozdział 17. Regularyzacja
- 17.1. Dlaczego regularyzacja?
- 17.2. Regresja LASSO
- 17.3. Regresja grzbietowa
- 17.4. Sieć elastyczna
- 17.5. Walidacja krzyżowa
- Podsumowanie
- Rozdział 18. Klasteryzacja
- 18.1. k-średnie
- 18.1.1. Ograniczanie liczby wymiarów za pomocą analizy PCA
- 18.2. Klastrowanie hierarchiczne
- 18.2.1. Klastrowanie kompletne
- 18.2.2. Klastrowanie pojedyncze
- 18.2.3. Klastrowanie ze średnią
- 18.2.4. Klastrowanie z centroidem
- 18.2.5. Klastrowanie metodą Warda
- 18.2.6. Ręczne ustawianie progu
- Podsumowanie
- 18.1. k-średnie
Część V. Podsumowanie
- Rozdział 19. Świat poza obrębem biblioteki Pandas
- 19.1. Stos do obliczeń (naukowych)
- 19.2. Wydajność
- 19.2.1. Pomiar czasu wykonywania kodu
- 19.2.2. Profilowanie kodu
- 19.2.3. Moduł concurrent.futures
- 19.3. Dask
- 19.4. Siuba
- 19.5. Ibis
- 19.6. Polars
- 19.7. PyJanitor
- 19.8. Pandera
- 19.9. Uczenie maszynowe
- 19.10. Publikowanie
- 19.11. Panele kontrolne
- Podsumowanie
- Rozdział 20. Działanie w pojedynkę jest niebezpieczne!
- 20.1. Lokalne spotkania
- 20.2. Konferencje
- 20.3. The Carpentries
- 20.4. Podcasty
- 20.5. Inne zasoby
- Podsumowanie
Dodatki
- Dodatek A. Mapy pojęć
- Dodatek B. Instalacja i konfiguracja
- B.1. Instalacja języka Python
- B.1.1. Anaconda
- B.1.2. Miniconda
- B.1.3. Odinstalowywanie dystrybucji Anaconda lub Miniconda
- B.1.4. pyenv
- B.2. Instalowanie pakietów języka Python
- B.3. Pobieranie zbiorów danych używanych w książce
- B.1. Instalacja języka Python
- Dodatek C. Wiersz poleceń
- C.1. Instalacja
- C.1.1. System Windows
- C.1.2. System Mac
- C.1.3. System Linux
- C.2. Podstawy
- C.1. Instalacja
- Dodatek D. Szablony projektowe
- Dodatek E. Zastosowanie języka Python
- E.1. Wiersz poleceń i edytor tekstu
- E.2. Python i IPython
- E.3. Jupyter
- E.4. Zintegrowane środowiska programistyczne IDE
- Dodatek F. Katalogi robocze
- Dodatek G. Środowiska
- G.1. Środowiska systemu conda
- G.2. Pyenv + Pipenv
- Dodatek H. Instalacja pakietów
- H.1. Aktualizowanie pakietów
- Dodatek I. Importowanie bibliotek
- Dodatek J. Styl kodu
- J.1. Znaki podziału wiersza w kodzie
- Dodatek K. Kontenery: listy, krotki i słowniki
- K.1. Listy
- K.2. Krotki
- K.3. Słowniki
- Dodatek L. Określanie wartości za pomocą składni wycinków
- Dodatek M. Pętle
- Dodatek N. Listy składane
- Dodatek O. Funkcje
- O.1. Parametry domyślne
- O.2. Parametry arbitralne
- O.2.1. Wyrażenie *args
- O.2.2. Wyrażenie **kwargs
- Dodatek P. Zakresy i generatory
- Dodatek Q. Przypisanie wielokrotne
- Dodatek R. Typ ndarray biblioteki NumPy
- Dodatek S. Klasy
- Dodatek T. Komunikat SettingWithCopyWarning
- T.1. Modyfikowanie podzbioru danych
- T.2. Zastępowanie wartości
- T.3. Dodatkowe zasoby informacji
- Dodatek U. Tworzenie łańcuchów metod
- Dodatek V. Czas wykonywania kodu
- Dodatek W. Formatowanie łańcuchów
- W.1. Formatowanie w stylu języka C
- W.2. Formatowanie łańcuchów: metoda .format()
- W.3. Formatowanie liczb
- Dodatek X. Instrukcje warunkowe (if-elif-else)
- Dodatek Y. Przykład regresji logistycznej ze zbiorem danych ACS dla Nowego Jorku
- Y.0.1. Użycie biblioteki sklearn
- Dodatek Z. Replikowanie wyników za pomocą języka R
- Z.1. Regresja liniowa
- Z.2. Regresja logistyczna
- Z.3. Regresja Poissona
- Z.3.1. Ujemna regresja dwumianowa w przypadku nadmiernej dyspersji
Skorowidz
Kategoria: | Bazy danych |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-289-0152-0 |
Rozmiar pliku: | 8,3 MB |