Τι μας έφερε το Pandas 1.0

Τι μας έφερε το Pandas 1.0

Στις 9 Ιανουαρίου κυκλοφόρησε το Pandas 1.0.0rc. Η προηγούμενη έκδοση της βιβλιοθήκης είναι 0.25.

Η πρώτη μεγάλη έκδοση περιέχει πολλά νέα νέα χαρακτηριστικά, όπως βελτιωμένη αυτόματη σύνοψη πλαισίων δεδομένων, περισσότερες μορφές εξόδου, νέους τύπους δεδομένων, ακόμη και μια νέα τοποθεσία τεκμηρίωσης.

Όλες οι αλλαγές μπορούν να προβληθούν εδώ, στο άρθρο θα περιοριστούμε σε μια μικρή, λιγότερο τεχνική ανασκόπηση των πιο σημαντικών πραγμάτων.

Μπορείτε να εγκαταστήσετε τη βιβλιοθήκη ως συνήθως χρησιμοποιώντας κουκούτσι, αλλά δεδομένου ότι τη στιγμή που γράφεται το Pandas 1.0 είναι ακόμα υποψήφια έκδοση, θα χρειαστεί να καθορίσετε ρητά την έκδοση:

pip install --upgrade pandas==1.0.0rc0

Να είστε προσεκτικοί: καθώς πρόκειται για μια σημαντική έκδοση, η ενημέρωση μπορεί να σπάσει τον παλιό κώδικα!

Παρεμπιπτόντως, η υποστήριξη για Python 2 έχει διακοπεί εντελώς από αυτήν την έκδοση (ποιος θα μπορούσε να είναι ένας καλός λόγος εκσυγχρονίζω — περίπου. μετάφραση). Το Pandas 1.0 απαιτεί τουλάχιστον Python 3.6+, οπότε αν δεν είστε σίγουροι, ελέγξτε ποιο έχετε εγκαταστήσει:

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

$ python --version
Python 3.7.5

Ο ευκολότερος τρόπος για να ελέγξετε την έκδοση Pandas είναι αυτός:

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

Βελτιωμένη αυτόματη σύνοψη με το DataFrame.info

Η αγαπημένη μου καινοτομία ήταν η ενημέρωση της μεθόδου DataFrame.info. Η λειτουργία έχει γίνει πολύ πιο ευανάγνωστη, κάνοντας τη διαδικασία εξερεύνησης δεδομένων ακόμα πιο εύκολη:

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

Έξοδος πινάκων σε μορφή Markdown

Μια εξίσου ευχάριστη καινοτομία είναι η δυνατότητα εξαγωγής πλαισίων δεδομένων σε πίνακες Markdown χρησιμοποιώντας DataFrame.to_markdown.

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

Αυτό καθιστά πολύ πιο εύκολη τη δημοσίευση πινάκων σε ιστότοπους όπως το Medium χρησιμοποιώντας github gists.

Τι μας έφερε το Pandas 1.0

Νέοι τύποι για χορδές και booleans

Η έκδοση Pandas 1.0 προστέθηκε επίσης νέα πειραματικός τύπους. Το API τους μπορεί να αλλάξει, επομένως χρησιμοποιήστε το με προσοχή. Αλλά γενικά, οι Pandas συνιστούν τη χρήση νέων τύπων όπου είναι λογικό.

Προς το παρόν, το καστ πρέπει να γίνει ρητά:

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

Παρατηρήστε πώς η στήλη Τύπος εμφανίζει νέους τύπους − κορδόνι и μπουλ.

Το πιο χρήσιμο χαρακτηριστικό του νέου τύπου συμβολοσειράς είναι η δυνατότητα επιλογής μόνο στήλες σειρών από πλαίσια δεδομένων. Αυτό μπορεί να κάνει την ανάλυση δεδομένων κειμένου πολύ πιο εύκολη:

df.select_dtypes("string")

Προηγουμένως, οι στήλες σειρών δεν μπορούσαν να επιλεγούν χωρίς να προσδιορίζονται ρητά τα ονόματα.

Μπορείτε να διαβάσετε περισσότερα για τους νέους τύπους εδώ.

Ευχαριστούμε που το διαβάσατε! Μπορείτε να δείτε την πλήρη λίστα αλλαγών, όπως αναφέρθηκε ήδη εδώ.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο