9 stycznia wydano Pandy 1.0.0rc. Poprzednia wersja biblioteki to 0.25.
Pierwsza główna wersja zawiera wiele wspaniałych nowych funkcji, w tym ulepszone automatyczne podsumowywanie ramek danych, więcej formatów wyjściowych, nowe typy danych, a nawet nową witrynę z dokumentacją.
Wszystkie zmiany można zobaczyć
Możesz zainstalować bibliotekę w zwykły sposób, używając pypeć, ale ponieważ w chwili pisania tego tekstu Pandas 1.0 jest nadal Release Candidate, musisz wyraźnie określić wersję:
pip install --upgrade pandas==1.0.0rc0
Bądź ostrożny: ponieważ jest to wydanie główne, aktualizacja może złamać stary kod!
Nawiasem mówiąc, od tej wersji całkowicie zaprzestano obsługi Pythona 2 (co może być dobrym powodem
$ pip --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
$ python --version
Python 3.7.5
Najprostszym sposobem sprawdzenia wersji Pand jest:
>>> import pandas as pd
>>> pd.__version__
1.0.0rc0
Ulepszone automatyczne podsumowanie w DataFrame.info
Moją ulubioną innowacją była aktualizacja metody DataFrame.info. Funkcja stała się znacznie bardziej czytelna, dzięki czemu proces eksploracji danych jest jeszcze łatwiejszy:
>>> df = pd.DataFrame({
...: 'A': [1,2,3],
...: 'B': ["goodbye", "cruel", "world"],
...: 'C': [False, True, False]
...:})
>>> df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 A 3 non-null int64
1 B 3 non-null object
2 C 3 non-null object
dtypes: int64(1), object(2)
memory usage: 200.0+ bytes
Wyprowadzanie tabel w formacie Markdown
Równie przyjemną innowacją jest możliwość eksportu ramek danych do tabel Markdown za pomocą DataFrame.to_markdown.
>>> df.to_markdown()
| | A | B | C |
|---:|----:|:--------|:------|
| 0 | 1 | goodbye | False |
| 1 | 2 | cruel | True |
| 2 | 3 | world | False |
Dzięki temu znacznie łatwiej jest publikować tabele w witrynach takich jak Medium, korzystając ze wskazówek githuba.
Nowe typy łańcuchów i wartości logicznych
W wersji Pandas 1.0 dodano także nowe funkcje eksperymentalny typy. Ich interfejs API może się jeszcze zmieniać, więc używaj go ostrożnie. Ale ogólnie Pandas zaleca używanie nowych typów wszędzie tam, gdzie ma to sens.
Na razie obsada musi zostać wykonana jawnie:
>>> B = pd.Series(["goodbye", "cruel", "world"], dtype="string")
>>> C = pd.Series([False, True, False], dtype="bool")
>>> df.B = B, df.C = C
>>> df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 A 3 non-null int64
1 B 3 non-null string
2 C 3 non-null bool
dtypes: int64(1), object(1), string(1)
memory usage: 200.0+ bytes
Zwróć uwagę na kolumnę Typ D wyświetla nowe typy − ciąg и bool.
Najbardziej przydatną funkcją nowego typu string jest możliwość wyboru tylko kolumny wierszy z ramek danych. Może to znacznie ułatwić analizowanie danych tekstowych:
df.select_dtypes("string")
Wcześniej nie można było wybierać kolumn wierszy bez jawnego określenia nazw.
Możesz przeczytać więcej o nowych typach
Dziękuję za przeczytanie! Pełną listę zmian, jak już wspomniano, można zobaczyć
Źródło: www.habr.com