Περισσότερα
Πώς μπορώ να λάβω τον αριθμό γραμμών ενός πλαισίου δεδομένων pandas DataFrame;
Προσπαθώ να πάρω τον αριθμό των γραμμών του πλαισίου δεδομένων df με Pandas, και εδώ είναι ο κώδικάς μου.
Μέθοδος 1:
total_rows = df.count
print total_rows +1
Μέθοδος 2:
total_rows = df['First_columnn_label'].count
print total_rows +1
Και τα δύο αποσπάσματα κώδικα μου δίνουν αυτό το σφάλμα:
TypeError: unsupported operand type(s) for +: 'instancemethod' and 'int',
Τι κάνω λάθος;
779
3
Μπορείτε να χρησιμοποιήσετε την ιδιότητα
.shape
ή απλώςlen(DataFrame.index)
. Ωστόσο, υπάρχουν αξιοσημείωτες διαφορές στις επιδόσεις ( τοlen(DataFrame.index)
είναι ταχύτερο):[]]1
EDIT: Όπως σημείωσε ο @Dan Allen στα σχόλια, τα
len(df.index)
καιdf[0].count()
δεν είναι εναλλάξιμα, καθώς τοcount
αποκλείει τοNaN
,Χρησιμοποιήστε
len(df)
. Αυτό λειτουργεί από την pandas 0.11 ή ίσως και νωρίτερα.Η
__len__()
τεκμηριώνεται επί του παρόντος (0.12) με την ονομασίαReturns length of index
. Πληροφορίες χρονισμού, ρυθμίστε με τον ίδιο τρόπο όπως στην απάντηση της root's:Λόγω μιας επιπλέον κλήσης συνάρτησης είναι λίγο πιο αργή από την απευθείας κλήση του
len(df.index)
, αλλά αυτό δεν θα πρέπει να παίζει κανένα ρόλο στις περισσότερες περιπτώσεις χρήσης.Εκτός από τις παραπάνω απαντήσεις, μπορείτε να χρησιμοποιήσετε την
df.axes
για να λάβετε την πλειάδα με τους δείκτες γραμμής και στήλης και στη συνέχεια να χρησιμοποιήσετε τη συνάρτησηlen()
: