Pandas Reindex

Pandas Reindex



'Στα 'pandas', μπορούμε να αποθηκεύσουμε πολλές πληροφορίες σε μορφή πίνακα, που είναι επίσης γνωστή ως DataFrame. Τα «pandas» μας διευκολύνουν με τη μέθοδο «DataFrame()» για την κατασκευή του DataFrame. Το DataFrame περιέχει ευρετήρια και μπορούμε επίσης να αλλάξουμε τα ευρετήρια του DataFrame χρησιμοποιώντας τις συναρτήσεις 'pandas'. Η μέθοδος που χρησιμοποιούμε για την αναπροσαρμογή του DataFrame είναι η μέθοδος 'reindex()'. Αυτή η μέθοδος βοηθά στην αλλαγή των τιμών ευρετηρίου της γραμμής καθώς και των τιμών ευρετηρίου των στηλών. Χρησιμοποιώντας αυτήν τη μέθοδο, μπορούμε να αλλάξουμε το προεπιλεγμένο ευρετήριο του DataFrame και επίσης μπορούμε να αλλάξουμε το ευρετήριο που ορίσαμε κατά τη δημιουργία του DataFrame. Θα χρησιμοποιήσουμε τη μέθοδο 'reindex()' στα παραδείγματα 'panda' σε αυτό το σεμινάριο και θα εξηγήσουμε σε βάθος αυτήν την έννοια εδώ.'

Παράδειγμα #01

Το εργαλείο 'Spyder' μας βοηθά να αναπτύξουμε τον κώδικα 'pandas' εδώ σε αυτό το σεμινάριο και ξεκινάμε τον κώδικά μας με τη λέξη-κλειδί 'import', η οποία θα βοηθήσει στην εισαγωγή της συνάρτησης 'pandas'. Τοποθετούμε 'pandas ως pd' αφού πληκτρολογήσουμε το 'import'. Μετά από αυτό, δημιουργούμε το DataFrame πληκτρολογώντας “pd.DataFrame()”. Γράφουμε αυτό το 'pd' εδώ επειδή το 'DataFrame()' είναι η μέθοδος των 'pandas'. Το 'value_df' είναι το όνομα της μεταβλητής στην οποία είναι αποθηκευμένο το DataFrame. Προσθέτουμε το 'RandomName', που είναι το όνομα της στήλης, και το 'RandomName' περιέχει 'Thomas, Oscar, Lilly, Rowan, John, Bromley, Peter, Alexander και Samuel'.







Στη συνέχεια, έχουμε το 'Value_1', στο οποίο έχουμε εισαγάγει τα '16, 29, 24, 35, 44, 50, 69, 74 και 88'. Έπειτα έρχεται το 'Value_2' και προσθέσαμε τα '25, 38, 42, 56, 54, 65, 78, 89 και 99'. Τώρα, ακολουθεί το 'Value_3' και τοποθετούμε '36, 48, 52, 69, 74, 75, 87, 91 και 69' σε αυτό. Μετά από αυτό υπάρχει η στήλη 'Τιμή_4', όπου έχουμε εισαγάγει '52, 64, 72, 88, 82, 95, 97, 21 και 39'. Η τελευταία στήλη είναι η στήλη 'Τιμή_5' εδώ και σε αυτήν τη στήλη, οι τιμές που έχουμε προσθέσει είναι '66, 78, 82, 99, 34, 45, 57, 61 και 89'. Μετά από αυτό, χρησιμοποιούμε τη συνάρτηση 'print()' στην οποία προστίθεται το 'Values_df'. Θα εκτυπωθεί στο τερματικό.




Αφού πατήσουμε 'Shift+Enter', μπορούμε εύκολα να πάρουμε το αποτέλεσμα των κωδικών μας στην εφαρμογή 'Spyder'. Εδώ, αυτός ο κωδικός επιστρέφει το DataFrame με το προεπιλεγμένο ευρετήριο. Τώρα, θα εφαρμόσουμε τη μέθοδο 'reindex()' για την εκ νέου ευρετηρίαση αυτού του DataFrame στα 'pandas'.




Η συνάρτηση 'reindex()' χρησιμοποιείται εδώ για την εκ νέου ευρετηρίαση της τιμής του ευρετηρίου της σειράς. Στο παραπάνω DataFrame, μπορείτε να δείτε ότι εμφανίζονται οι προεπιλεγμένες τιμές ευρετηρίου της σειράς και τώρα, εφαρμόζουμε τη μέθοδο 'reindex()' για την αναπροσαρμογή αυτών των ευρετηρίων σειρών. Τοποθετούμε το όνομα του DataFrame και στη συνέχεια τη μέθοδο “reindex()” στην οποία τοποθετούμε τις τιμές ευρετηρίου που θέλουμε να προσθέσουμε στο παραπάνω DataFrame. Βάζουμε 'ind_A, ind_B, ind_C, ind_D, ind_E, ind_F, ind_G, ind_H, and ind_I' στη συνάρτηση 'reindex()'. Έτσι, τα ευρετήρια αυτών των σειρών θα ενημερωθούν στο DataFrame όταν εκτελούμε αυτόν τον κώδικα.






Οι τιμές του ευρετηρίου της σειράς εμφανίζονται σε αυτό το αποτέλεσμα και μπορείτε να σημειώσετε ότι οι τιμές DataFrame δεν εμφανίζονται εδώ και ότι έχουν εμφανιστεί οι τιμές 'NaN'. Αυτό συμβαίνει επειδή οι νέες τιμές ευρετηρίου δεν ταιριάζουν με τις προηγούμενες τιμές ευρετηρίου του DataFrame. Όταν το νέο ευρετήριο και το παλιό ευρετήριο δεν ταιριάζουν, τότε εμφανίζει το 'Nan' εκεί. Αυτές οι τιμές 'NaN' εμφανίζονται από προεπιλογή όταν αλλάζουμε το ευρετήριο και δεν ταιριάζει με το προηγούμενο ευρετήριο.



Παράδειγμα #02

Τώρα αλλάζουμε τις τιμές ευρετηρίου στήλης του 'Value_df', που έχουμε δημιουργήσει προηγουμένως στο παράδειγμα 1. Αφού εκτυπώσουμε το 'Value_df', βάζουμε τη μεταβλητή 'στήλη' και προσθέτουμε μερικές τιμές σε αυτήν. Προσθέτουμε 'a_1, b_1, c_1, d_1 και e_1'. Τώρα, θέλουμε να προσαρμόσουμε αυτές τις τιμές ως ευρετήριο των στηλών, επομένως, για αυτό, χρησιμοποιούμε τη μέθοδο 'reindex()' και τοποθετούμε το όνομα της μεταβλητής 'στήλη' στην οποία αποθηκεύονται οι νέες τιμές ευρετηρίου στήλης και Επίσης, ορίστε τον 'άξονα' σε 'στήλες', έτσι θα ενημερώσει το ευρετήριο του άξονα στήλης. Βάζουμε τη μέθοδο 'reindex()' στο 'print()', έτσι θα αποδοθεί και στο τερματικό.


Καθώς χρησιμοποιήσαμε τη μέθοδο 'reindex()', οι τιμές ευρετηρίου στηλών που υπάρχουν στο πρώτο DataFrame ενημερώνονται και νέες τιμές προστίθενται στο ενημερωμένο DataFrame. Μπορείτε επίσης να σημειώσετε ότι όλες οι τιμές του DataFrame μετατρέπονται σε 'NaN' επειδή και οι δύο τιμές ευρετηρίου των στηλών είναι διαφορετικές.

Παράδειγμα #03

Το 'Programming_data' σε αυτόν τον κώδικα περιέχει το 'P_Languages', όπου έχουμε προσθέσει 'JavaScript, CSS, Web Engineering, OOP, C#, AI, Java και JavaScript'. Στη συνέχεια, έχουμε 'Ώρες' στις οποίες τοποθετούμε '4_ώρες, 2_ώρες, 3_ώρες, 7_ώρες, 6_ώρες, 5_ώρες, 8_ώρες και 6_ώρες'. Μετά από αυτό, εισάγεται ο 'P_Code' και εισάγουμε '11523, 12423, 12321, 11456, 11454, 12267, 13106 και 14123'. Προσθέτουμε τη μεταβλητή 'p_index' και βάζουμε 'Pro_A, Pro_B, Pro_C, Pro_D, Pro_E, Pro_F, Pro_G και Pro_H'.

Αυτές οι τιμές θα χρησιμοποιηθούν ως τιμές ευρετηρίου των σειρών. Αλλάζουμε το 'Programming_data' στο DataFrame 'Programming_df'. Προσθέτουμε επίσης το 'p_index' σε αυτό το DataFrame χρησιμοποιώντας τη μέθοδο 'index'. Βάζουμε 'Programming_df' και μετά τη μέθοδο 'index' και εκχωρούμε το 'p_index' σε αυτό. Τώρα, οι παραπάνω τιμές ευρετηρίου προστίθενται ως τιμές ευρετηρίου σειρών στο DataFrame. Εκτυπώνουμε επίσης το 'Programming_df'.

Μετά από αυτό, προσθέτουμε μερικές νέες τιμές ευρετηρίου στη μεταβλητή 'new_index' και αυτές είναι 'P_1, P_2, P_3, P_4, P_5, P_6, P_7 και P_8'. Καθώς θέλουμε να ενημερώσουμε τις τιμές ευρετηρίου των σειρών, χρησιμοποιούμε τη μέθοδο 'reindex()' και βάζουμε το 'new_index' ως παράμετρο αυτής της συνάρτησης και επίσης αποθηκεύουμε το ενημερωμένο DataFrame στο 'newProgramming_df' και τοποθετούμε το 'newProgramming_df' στο ' print()” για εμφάνιση.


Οι τιμές του ευρετηρίου ενημερώνονται και μπορούμε επίσης να πούμε ότι έχουμε αναπροσαρμόσει το DataFrame που δημιουργήσαμε. Όλες οι τιμές του DataFrame μετατρέπονται επίσης σε 'NaN' επειδή και οι δύο τιμές ευρετηρίου είναι διαφορετικές.

Παράδειγμα #04

Αυτήν τη στιγμή αλλάζουμε τις τιμές του ευρετηρίου 'Programming_df's' των στηλών, τις οποίες αναπτύξαμε προηγουμένως στο παράδειγμα 3. Τοποθετούμε τη μεταβλητή 'στήλη' και εισάγουμε νέες τιμές σε αυτήν. Τα 'P_Code, P_Languages, Hours, and New' προστίθενται στη μεταβλητή 'στήλη'. Στη συνέχεια, χρησιμοποιούμε ξανά τη μέθοδο 'reindex()' στην οποία ορίζουμε τη μεταβλητή 'στήλη', η οποία θα ενημερώσει τις προηγούμενες τιμές ευρετηρίου στήλης και θα προσθέσει αυτές τις νέες τιμές ευρετηρίου στηλών στο DataFrame.

Εδώ, μπορείτε να σημειώσετε ότι οι νέες τιμές που προσθέσαμε στη 'στήλη' είναι οι ίδιες με αυτές που προσθέσαμε στο παραπάνω DataFrame, αλλά η ακολουθία είναι διαφορετική, επομένως θα αλλάξει τη σειρά των στηλών και θα προσαρμόσει όλες τις στήλες όπως εμείς αναφέρεται στη μεταβλητή «στήλη». Επίσης, προσθέτουμε μια ακόμη τιμή ευρετηρίου που δεν υπάρχει στο παραπάνω DataFrame, η οποία είναι 'Νέα' εδώ, οπότε οι τιμές 'NaN' θα εμφανιστούν σε αυτήν τη στήλη.


Η ακολουθία των στηλών αλλάζει εδώ και όλες οι τιμές εμφανίζονται όπως υπάρχουν στις αρχικές στήλες του DataFrame και η στήλη 'Νέα' στο ενημερωμένο DataFrame περιέχει όλες τις τιμές 'NaN', επειδή αυτή η στήλη δεν υπάρχει στο αρχικό DataFrame.

συμπέρασμα

Παρουσιάσαμε αυτό το σεμινάριο το οποίο μας βοηθά να κατανοήσουμε λεπτομερώς την έννοια του 'reindex reindex' των pandas. Έχουμε συζητήσει πώς μπορούμε να αναπροσαρμόσουμε το ευρετήριο μιας στήλης DataFrame καθώς και τις τιμές ευρετηρίου της σειράς. Έχουμε εξηγήσει ότι η συνάρτηση 'reindex()' των 'pandas' χρησιμοποιείται για να γίνει αυτό. Έχουμε κάνει διαφορετικά παραδείγματα στα οποία έχουμε αλλάξει τις τιμές ευρετηρίου των σειρών του DataFrame και επίσης τις τιμές ευρετηρίου του ευρετηρίου στήλης του DataFrame. Έχουμε αποδώσει τα αποτελέσματα όλων των κωδικών που έχουμε κάνει εδώ σε αυτό το σεμινάριο και επίσης τους εξηγήσαμε σε βάθος.