Hvad Pandas 1.0 bragte os

Hvad Pandas 1.0 bragte os

Den 9. januar blev Pandas 1.0.0rc udgivet. Den tidligere version af biblioteket er 0.25.

Den første store udgivelse indeholder mange fantastiske nye funktioner, herunder forbedret automatisk dataframesumme, flere outputformater, nye datatyper og endda et nyt dokumentationssted.

Alle ændringer kan ses her, vil vi i artiklen begrænse os til en lille, mindre teknisk gennemgang af de vigtigste ting.

Du kan installere biblioteket som normalt vha pip, men siden i skrivende stund er Pandas 1.0 stadig release candidate, skal du udtrykkeligt angive versionen:

pip install --upgrade pandas==1.0.0rc0

Vær forsigtig: da dette er en større udgivelse, kan opdateringen bryde den gamle kode!

Understøttelse af Python 2 er i øvrigt blevet fuldstændig afbrudt siden denne version (hvad kunne være en god grund opdatering — ca. oversættelse). Pandas 1.0 kræver mindst Python 3.6+, så hvis du ikke er sikker, så tjek hvilken du har installeret:

$ 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 nemmeste måde at tjekke Pandas-versionen på er denne:

>>> import pandas as pd
>>> pd.__version__
1.0.0rc0

Forbedret automatisk opsummering med DataFrame.info

Min yndlingsinnovation var opdateringen af ​​metoden DataFrame.info. Funktionen er blevet meget mere læsbar, hvilket gør processen med dataudforskning endnu nemmere:

>>> 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

Udskriver tabeller i Markdown-format

En lige så behagelig innovation er evnen til at eksportere datarammer til Markdown-tabeller ved hjælp af DataFrame.to_markdown.

>>> df.to_markdown()
|    |   A | B       | C     |
|---:|----:|:--------|:------|
|  0 |   1 | goodbye | False |
|  1 |   2 | cruel   | True  |
|  2 |   3 | world   | False |

Dette gør det meget nemmere at publicere tabeller på websteder som Medium ved hjælp af github-gists.

Hvad Pandas 1.0 bragte os

Nye typer til strenge og booleans

Pandas 1.0-udgivelsen tilføjede også nyt eksperimentel typer. Deres API kan stadig ændre sig, så brug det med forsigtighed. Men generelt anbefaler Pandas at bruge nye typer, hvor end det giver mening.

Indtil videre skal rollebesætningen udføres eksplicit:

>>> 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

Læg mærke til, hvordan kolonnen Dtype viser nye typer − streng и bool.

Den mest nyttige funktion ved den nye strengtype er muligheden for at vælge kun rækkesøjler fra datarammer. Dette kan gøre parsing af tekstdata meget nemmere:

df.select_dtypes("string")

Tidligere kunne rækkekolonner ikke vælges uden eksplicit at angive navne.

Du kan læse mere om nye typer her.

Tak fordi du læste! Den fulde liste over ændringer kan, som allerede nævnt, ses her.

Kilde: www.habr.com

Tilføj en kommentar