Wat het vir ons Pandas 1.0 gebring

Wat het vir ons Pandas 1.0 gebring

Pandas 9rc is op 1.0.0 Januarie vrygestel. Die vorige weergawe van die biblioteek is 0.25.

Die eerste groot vrystelling bevat baie wonderlike kenmerke, insluitend verbeterde outomatiese opsomming van datarame, meer uitvoerformate, nuwe datatipes en selfs 'n nuwe dokumentasiewebwerf.

Alle veranderinge kan bekyk word hier, in die artikel sal ons ons beperk tot 'n klein, minder tegniese oorsig van die belangrikste ding.

Jy kan die biblioteek soos gewoonlik installeer met pit, maar sedert die skryf hiervan is Pandas 1.0 steeds stel kandidaat vry, sal jy die weergawe uitdruklik moet spesifiseer:

pip install --upgrade pandas==1.0.0rc0

Wees versigtig: aangesien dit 'n groot weergawe is, kan die opdatering ou kode breek!

Terloops, ondersteuning vir Python 2 is heeltemal van hierdie weergawe laat vaar (wat 'n goeie rede kan wees Opdateer - ongeveer. vertaal.). Pandas 1.0 vereis ten minste Python 3.6+, so as jy nie seker is nie, kyk watter een jy het:

$ pip --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

$ python --version
Python 3.7.5

Om die Pandas-weergawe na te gaan, is die maklikste soos volg:

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

Verbeterde AutoSum met DataFrame.info

My gunsteling innovasie was die opdatering van die metode DataFrame.info. Die funksie het baie meer leesbaar geword, wat die data-ontginningsproses nog makliker maak:

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

Tabeluitvoer in Markdown-formaat

'n Net so lekker innovasie was die vermoΓ« om datarame na Markdown-tabelle uit te voer met behulp van DataFrame.to_markdown.

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

Dit vergemaklik die publikasie van tabelle op webwerwe soos Medium aansienlik deur gebruik te maak van github-begrippe.

Wat het vir ons Pandas 1.0 gebring

Nuwe tipes vir snare en booleans

Die Pandas 1.0-vrystelling het ook nuut bygevoeg eksperimentele tipes. Hul API kan steeds verander, so gebruik dit versigtig. Maar oor die algemeen beveel Pandas aan om nuwe tipes te gebruik waar dit ook al sin maak.

Vir nou moet die rolverdeling uitdruklik gedoen word:

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

Let op hoe die kolom dtipe vertoon nuwe tipes βˆ’ string ΠΈ Bool.

Die nuttigste kenmerk van die nuwe string tipe is die kiesbare slegs rykolomme vanaf datarame. Dit kan die ontleed van teksdata aansienlik vereenvoudig:

df.select_dtypes("string")

Voorheen kon rykolomme nie sonder eksplisiete name gekies word nie.

Jy kan meer lees oor die nuwe tipes hier.

Dankie vir die lees! Die volledige lys van veranderinge, soos reeds genoem, kan besigtig word hier.

Bron: will.com

Voeg 'n opmerking