9. januar ble Pandas 1.0.0rc utgitt. Den forrige versjonen av biblioteket er 0.25.
Den første store utgivelsen inneholder mange flotte nye funksjoner, inkludert forbedret automatisk datarammeoppsummering, flere utdataformater, nye datatyper og til og med et nytt dokumentasjonsnettsted.
Alle endringer kan sees
Du kan installere biblioteket som vanlig ved å bruke pip, men siden i skrivende stund er Pandas 1.0 fortsatt Release Candidate, må du spesifisere versjonen:
pip install --upgrade pandas==1.0.0rc0
Vær forsiktig: siden dette er en stor utgivelse, kan oppdateringen bryte den gamle koden!
Forresten, støtte for Python 2 har blitt fullstendig avviklet siden denne versjonen (hva kan være en god grunn
$ pip --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
$ python --version
Python 3.7.5
Den enkleste måten å sjekke Pandas-versjonen på er denne:
>>> import pandas as pd
>>> pd.__version__
1.0.0rc0
Forbedret automatisk oppsummering med DataFrame.info
Min favorittinnovasjon var oppdateringen av metoden DataFrame.info. Funksjonen har blitt mye mer lesbar, noe som gjør prosessen med datautforskning enda enklere:
>>> 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
Utdatatabeller i Markdown-format
En like hyggelig innovasjon er muligheten til å eksportere datarammer til Markdown-tabeller ved hjelp av DataFrame.to_markdown.
>>> df.to_markdown()
| | A | B | C |
|---:|----:|:--------|:------|
| 0 | 1 | goodbye | False |
| 1 | 2 | cruel | True |
| 2 | 3 | world | False |
Dette gjør det mye enklere å publisere tabeller på nettsteder som Medium ved å bruke github-elementer.
Nye typer for strenger og booleanere
Pandas 1.0-utgivelsen har også lagt til nytt eksperimentell typer. API-et deres kan fortsatt endres, så bruk det med forsiktighet. Men generelt anbefaler Pandas å bruke nye typer der det er fornuftig.
Foreløpig må rollebesetningen gjøres eksplisitt:
>>> 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
Legg merke til hvordan kolonnen Dtype viser nye typer − string и bool.
Den mest nyttige funksjonen til den nye strengtypen er muligheten til å velge bare radkolonner fra datarammer. Dette kan gjøre det mye enklere å analysere tekstdata:
df.select_dtypes("string")
Tidligere kunne ikke radkolonner velges uten å spesifisere navn.
Du kan lese mer om nye typer
Takk for at du leser! Den fullstendige listen over endringer, som allerede nevnt, kan sees
Kilde: www.habr.com