Πώς να ευρετηριάσετε τα DataFrames του pandas
Η ευρετηρίαση των DataFrames της Python pandas επιτρέπει την αποτελεσματική και άμεση πρόσβαση στα δεδομένα. Διευκολύνει την επιλογή συγκεκριμένων σειρών και στηλών, απλοποιώντας τις εργασίες ανάλυσης δεδομένων.
Τι είναι η ευρετηρίαση στο pandas;
Η ευρετηρίαση στο pandas αναφέρεται σε διαφορετικές μεθόδους που μπορείτε να χρησιμοποιήσετε για να επιλέξετε σειρές ή στήλες. Χρησιμοποιώντας ετικέτες σειρών και στηλών ή την αριθμητική τους θέση στο DataFrame, μπορείτε εύκολα να επιλέξετε στοιχεία σε ένα DataFrame. Ένας δείκτης λειτουργεί ως ένα είδος συστήματος διευθύνσεων για τα δεδομένα σας, βοηθώντας σας να εντοπίσετε και να διαχειριστείτε τα δεδομένα σας πιο αποτελεσματικά.
Τι είναι το pandas DataFrame.index;
Μπορείτε να δείτε τις ετικέτες ευρετηρίου ενός DataFrame στο pandas χρησιμοποιώντας το index attribute. Η σύνταξη έχει την εξής μορφή:
DataFrame.indexpythonΠοια είναι η σύνταξη για την ευρετηρίαση DataFrames στο pandas;
Υπάρχουν διάφοροι τρόποι για την ευρετηρίαση των DataFrames της pandas και η σύνταξη ποικίλλει ανάλογα με τη λειτουργία που θέλετε να εκτελέσετε.
Ευρετηρίαση με ετικέτες (ετικέτες στηλών)
Μπορείτε να χρησιμοποιήσετε ονόματα στηλών για να δημιουργήσετε ευρετήριο σε DataFrames pandas. Ακολουθεί ένα παράδειγμα για το πώς να δημιουργήσετε ένα δείγμα DataFrame:
import pandas as pd
# Creating a sample DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['Nottingham', 'London', 'Cardiff']
}
df = pd.DataFrame(data)
print(df)pythonΈτσι φαίνεται το DataFrame:
Name Age City
0 Alice 25 Nottingham
1 Bob 30 London
2 Charlie 35 CardiffΓια να αποκτήσετε πρόσβαση σε όλες τις τιμές μιας στήλης, μπορείτε να χρησιμοποιήσετε το όνομα της στήλης μαζί με τον τελεστή ευρετηρίασης []. Απλώς εισαγάγετε το όνομα της στήλης ως συμβολοσειρά Python μέσα στον τελεστή ευρετηρίασης:
# Access the Age column
print(df['Age'])pythonΤο αποτέλεσμα είναι μια λίστα με τις ηλικίες:
0 25
1 30
2 35
Name: Age, dtype: int64Για να ανακτήσετε τα δεδομένα περισσότερων από μία στήλης, γράψτε τα ονόματα των στηλών στον τελεστή ευρετηρίασης και τοποθετήστε κόμματα μεταξύ τους για να τα διαχωρίσετε.
Ευρετηρίαση με loc[] (ετικέτες σειράς)
Εάν πρέπει να αποκτήσετε πρόσβαση σε μια συγκεκριμένη σειρά στο DataFrame σας, μπορείτε να χρησιμοποιήσετε τον δείκτη pandas loc. Μπορείτε να μεταβιβάσετε την ετικέτα σειράς ή τον αριθμό σειράς στον δείκτη. Σε αυτό το παράδειγμα, θα χρησιμοποιήσουμε το ίδιο DataFrame όπως παραπάνω και θα εξαγάγουμε τις τιμές από την πρώτη σειρά (σειρά 0):
print(df.loc[0])pythonΟ παραπάνω κώδικας εμφανίζει τις τιμές για την Alice, οι οποίες περιέχονται στην πρώτη σειρά του DataFrame:
Name Alice
Age 25
City Nottingham
Name: 0, dtype: objectΕυρετηρίαση με iloc[] (αριθμοί σειρών και στηλών)
Ένας άλλος τρόπος πρόσβασης σε συγκεκριμένα στοιχεία του DataFrame είναι μέσω των αριθμών σειρών και στηλών. Αυτός είναι πιθανώς ο πιο δημοφιλής τρόπος εντοπισμού στοιχείων σε ένα DataFrame. Για να χρησιμοποιήσετε τον αριθμητικό δείκτη, χρειάζεστε το χαρακτηριστικό iloc του DataFrame.
# Access the first row
print(df.iloc[0])
# Access the value in the first row and second column
print(df.iloc[0, 1])pythonΑυτό είναι το αποτέλεσμα όταν δουλεύουμε με iloc[]:
Name Alice
Age 25
City Nottingham
Name: 0, dtype: object
25Πρόσβαση σε μεμονωμένες τιμές
Εάν θέλετε απλώς να αποκτήσετε πρόσβαση σε μία μόνο τιμή, ο δείκτης at είναι ένας γρήγορος και απλός τρόπος για να το κάνετε. Με αυτόν τον δείκτη, μπορείτε να ορίσετε σειρές και στήλες χρησιμοποιώντας τις ετικέτες τους. Για παράδειγμα, εάν θέλετε να μάθετε πού ζει ο Bob, πληκτρολογήστε «1» για τη σειρά και «City» για τη στήλη:
print(df.at[1, 'City'])pythonΕδώ, έχουμε ως αποτέλεσμα το Λονδίνο.
Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τον δείκτη iat, ο οποίος λειτουργεί παρόμοια με at, αλλά χρησιμοποιεί τη θέση της στήλης με βάση τον ακέραιο αριθμό αντί για το όνομα. Ο παρακάτω κώδικας δίνει το ίδιο αποτέλεσμα με το προηγούμενο παράδειγμα:
print(df.iat[1, 2])pythonΒοολιανή ευρετηρίαση
Μπορείτε επίσης να δημιουργήσετε υποσύνολα ενός DataFrame με βάση μια συνθήκη. Αυτό είναι γνωστό ως Boolean indexing. Η συνθήκη πρέπει να έχει ως αποτέλεσμα είτε True είτε False και τοποθετείται απευθείας στον τελεστή ευρετηρίασης. Για παράδειγμα, αν θέλετε να επιλέξετε σειρές που περιέχουν άτομα άνω των 30 ετών, μπορείτε να χρησιμοποιήσετε τον ακόλουθο κώδικα:
# Select rows where Age is greater than 30
print(df[df['Age'] > 30])pythonΟ μόνος που είναι πάνω από 30 είναι ο Charlie, με αποτέλεσμα την ακόλουθη έξοδο:
Name Age City
2 Charlie 35 Cardiff