Πώς να επιλέξετε δεδομένα από pandas DataFrames με loc[]
Στη βιβλιοθήκη Python pandas, DataFrame.loc[] είναι μια ιδιότητα που σας επιτρέπει να επιλέξετε δεδομένα από ένα DataFrame χρησιμοποιώντας ετικέτες. Αυτό διευκολύνει την εξαγωγή συγκεκριμένων σειρών και στηλών από ένα DataFrame.
Ποια είναι η σύνταξη για το pandas loc[];
Η σύνταξη για loc[] είναι αρκετά απλή. Το μόνο που χρειάζεται να κάνετε είναι να περάσετε τις ετικέτες των στηλών και των γραμμών που θέλετε να επιλέξετε ως παράμετρο:
DataFrame.loc[selection]pythonΜε το pandas loc[], οι επιλογές γίνονται κυρίως με τη χρήση ετικετών. Αυτό σημαίνει ότι η παράμετρος που παρέχετε μπορεί να είναι μια μεμονωμένη ετικέτα, μια λίστα ή ένα τμήμα ετικετών. Μπορούν επίσης να χρησιμοποιηθούν και πίνακες Boolean.
Ποια είναι η διαφορά μεταξύ loc[] και iloc[];
Ενώ το pandas DataFrame.loc[] επιλέγει δεδομένα με βάση ετικέτες, το DataFrame.iloc επιλέγει δεδομένα με βάση θέσεις που βασίζονται σε ακέραιους αριθμούς. Ακολουθεί ένα παράδειγμα κώδικα που βοηθά στην επεξήγηση των διαφορών. Πρώτα, θα δημιουργήσουμε ένα pandas DataFrame:
import pandas as pd
# Example DataFrame
data = {'Name': ['Alyssa', 'Brandon', 'Carmen'], 'Age': [23, 35, 30]}
df = pd.DataFrame(data)
print(df)pythonΈτσι φαίνεται το DataFrame:
Name Age
0 Alyssa 23
1 Brandon 35
2 Carmen 30Για να εξαγάγετε το «Alyssa» από το DataFrame, μπορείτε να χρησιμοποιήσετε τόσο το pandas loc[] όσο και iloc[]. Αν και η προσέγγιση διαφέρει, το αποτέλεσμα είναι το ίδιο:
# Using loc and labels to extract Alyssa
print(df.loc[0, 'Name']) # Output: 'Alyssa'
# Using iloc and integers to extract Alysa
print(df.iloc[0, 0]) # Output: 'Alyssa'pythonΠώς να χρησιμοποιήσετε pandas DataFrame.loc[]
Το Pandas loc[] σας βοηθά να εξαγάγετε υποσύνολα του DataFrame σας. Με loc[], μπορείτε να εξαγάγετε μία μόνο σειρά ή στήλη, πολλές σειρές και στήλες ή ακόμα και να εφαρμόσετε συνθήκες για φιλτράρισμα. Αυτή η ευελιξία το καθιστά κατάλληλο για μια ποικιλία περιπτώσεων χρήσης.
Επιλογή μιας μόνο σειράς
Ας δούμε ένα παράδειγμα DataFrame:
import pandas as pd
data = {
'Name': ['Alyssa', 'Brandon', 'Carmen'],
'Age': [23, 35, 30],
'City': ['Sheffield', 'Glasgow', 'Belfast']
}
df = pd.DataFrame(data)
print(df)pythonΑυτό είναι το τελικό DataFrame:
Name Age City
0 Alyssa 23 Sheffield
1 Brandon 35 Glasgow
2 Carmen 30 BelfastΓια να επιλέξετε τα δεδομένα από τη σειρά που περιέχει πληροφορίες για τον Brandon (δείκτης 1), μπορείτε να χρησιμοποιήσετε το pandas loc[]:
brandon_data = df.loc[1]
print(brandon_data)pythonΕδώ είναι το αποτέλεσμα:
Name Brandon
Age 35
City Glasgow
Name: 1, dtype: objectΕπιλογή πολλαπλών στηλών
Μπορείτε επίσης να χρησιμοποιήσετε DataFrame.loc[] για να επιλέξετε ένα υποσύνολο στηλών. Ο παρακάτω κώδικας επιλέγει τις στήλες «Όνομα» και «Πόλη»:
name_city = df.loc[:, ['Name', 'City']]
print(name_city)pythonΤο αποτέλεσμα είναι ένα υποσύνολο του αρχικού DataFrame:
Name City
0 Alyssa Sheffield
1 Brandon Glasgow
2 Carmen BelfastΕπιλογή σειρών με βάση συνθήκες
Με το pandas loc[], μπορείτε επίσης να επιλέξετε σειρές που πληρούν συγκεκριμένα κριτήρια. Μπορείτε να το κάνετε αυτό με τους τελεστές σύγκρισης Boolean. Για παράδειγμα, δείτε πώς μπορείτε να φιλτράρετε όλα τα άτομα που είναι άνω των 25 ετών:
older_than_25 = df.loc[df['Age'] > 25]
print(older_than_25)pythonΟ παραπάνω κώδικας δημιουργεί ένα DataFrame που περιλαμβάνει μόνο δεδομένα για άτομα στο DataFrame που είναι άνω των 25 ετών:
Name Age City
1 Brandon 35 Glasgow
2 Carmen 30 Belfast