Le 9 janvier, Pandas 1.0.0rc est sorti. La version précédente de la bibliothèque est la 0.25.
La première version majeure contient de nombreuses nouvelles fonctionnalités intéressantes, notamment une synthèse automatique améliorée des trames de données, davantage de formats de sortie, de nouveaux types de données et même un nouveau site de documentation.
Tous les changements peuvent être consultés
Vous pouvez installer la bibliothèque comme d'habitude en utilisant pépin, mais comme au moment de la rédaction de cet article, Pandas 1.0 est toujours release candidate, vous devrez spécifier explicitement la version :
pip install --upgrade pandas==1.0.0rc0
Attention : s'agissant d'une version majeure, la mise à jour risque de casser l'ancien code !
À propos, le support de Python 2 a été complètement interrompu depuis cette version (quelle pourrait être une bonne raison
$ pip --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
$ python --version
Python 3.7.5
Le moyen le plus simple de vérifier la version de Pandas est le suivant :
>>> import pandas as pd
>>> pd.__version__
1.0.0rc0
Résumé automatique amélioré avec DataFrame.info
Mon innovation préférée a été la mise à jour de la méthode DataFrame.info. La fonction est devenue beaucoup plus lisible, rendant le processus d'exploration des données encore plus facile :
>>> 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
Sortie des tableaux au format Markdown
Une innovation tout aussi agréable est la possibilité d'exporter des dataframes vers des tables Markdown à l'aide de DataFrame.to_markdown.
>>> df.to_markdown()
| | A | B | C |
|---:|----:|:--------|:------|
| 0 | 1 | goodbye | False |
| 1 | 2 | cruel | True |
| 2 | 3 | world | False |
Cela rend beaucoup plus facile la publication de tableaux sur des sites comme Medium en utilisant les Gists de GitHub.
Nouveaux types pour les chaînes et les booléens
La version Pandas 1.0 a également ajouté de nouveaux expérimental les types. Leur API peut encore changer, alors utilisez-la avec prudence. Mais en général, Pandas recommande d'utiliser de nouveaux types partout où cela a du sens.
Pour l'instant, le casting doit être fait explicitement :
>>> 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
Remarquez comment la colonne TypeD affiche de nouveaux types - un magnifique и bool.
La fonctionnalité la plus utile du nouveau type de chaîne est la possibilité de sélectionner uniquement les colonnes de lignes à partir de trames de données. Cela peut rendre l'analyse des données texte beaucoup plus facile :
df.select_dtypes("string")
Auparavant, les colonnes de lignes ne pouvaient pas être sélectionnées sans spécifier explicitement des noms.
Vous pouvez en savoir plus sur les nouveaux types
Merci pour la lecture! La liste complète des changements, comme déjà mentionné, peut être consultée
Source: habr.com