Op 9 januari werd Pandas 1.0.0rc uitgebracht. De vorige versie van de bibliotheek is 0.25.
De eerste grote release bevat veel geweldige nieuwe functies, waaronder verbeterde automatische samenvatting van dataframes, meer uitvoerformaten, nieuwe gegevenstypen en zelfs een nieuwe documentatiesite.
Alle wijzigingen kunnen worden bekeken
U kunt de bibliotheek zoals gewoonlijk installeren met behulp van pit, maar aangezien Pandas 1.0 op het moment van schrijven nog steeds bestaat release candidate, moet u de versie expliciet opgeven:
pip install --upgrade pandas==1.0.0rc0
Let op: aangezien dit een grote release is, kan de update de oude code breken!
Overigens is de ondersteuning voor Python 2 sinds deze versie volledig stopgezet (wat een goede reden zou kunnen zijn
$ pip --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
$ python --version
Python 3.7.5
De eenvoudigste manier om de Pandas-versie te controleren is als volgt:
>>> import pandas as pd
>>> pd.__version__
1.0.0rc0
Verbeterde automatische samenvatting met DataFrame.info
Mijn favoriete innovatie was de update van de methode DataFrame.info. De functie is veel leesbaarder geworden, waardoor het proces van gegevensverkenning nog eenvoudiger wordt:
>>> 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
Tabellen uitvoeren in Markdown-indeling
Een even prettige innovatie is de mogelijkheid om dataframes naar Markdown-tabellen te exporteren 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 maakt het veel eenvoudiger om tabellen op sites als Medium te publiceren met behulp van github gists.
Nieuwe typen voor strings en booleans
De Pandas 1.0-release heeft ook nieuwe toegevoegd experimenteel soorten. Hun API kan nog steeds veranderen, dus wees voorzichtig. Maar over het algemeen raadt Pandas aan om nieuwe typen te gebruiken waar dit zinvol is.
Voorlopig moet de cast expliciet worden gedaan:
>>> 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 de kolom D-type geeft nieuwe typen weer β snaar ΠΈ bool.
De handigste eigenschap van het nieuwe stringtype is de mogelijkheid om te selecteren alleen rijkolommen uit dataframes. Dit kan het parseren van tekstgegevens veel eenvoudiger maken:
df.select_dtypes("string")
Voorheen konden rijkolommen niet worden geselecteerd zonder expliciet namen op te geven.
U kunt meer lezen over nieuwe typen
Bedankt voor het lezen! De volledige lijst met wijzigingen, zoals reeds vermeld, kan worden bekeken
Bron: www.habr.com