Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα, έχω ένα dataframe (τύπου object) και θέλω να πετάξω κάποιες τεράστιες τιμές που έχει (πχ 5.000.000) γιατί μου βγάζει error και δεν μου τα μετατρέπει σε float.

Προσπάθησα να συγκρίνω df=df[df['column']<'5000'] αλλά μου βγάζει σφάλμα ότι δεν υποστηρίζεται το '<',υποθέτω υπάρχει διαφορετικός τρόπος σύγκρισης μεταξύ objects.

Καμιά ιδεά;

Δημοσ.

Οι τιμές του column είναι σε μορφή string? Θα πρέπει να τις μετατρέψεις σε float πριν πας να κάνεις τη σύγκριση

df['column'] = df['column'].astype(float)

ύστερα θα πρεπει να συγκρινεις όπως το κανεις αλλα το 5000 να το βαλεις χωρις εισαγωγικα

  • Like 1
Δημοσ.

Ουσιαστικά το θέμα που έχω είναι αυτό...Θέλω να κάνω float όλη τη στήλη αλλά μου βγάζει αυτό: could not convert string to float: '9.544.000.000.000.000'

γι αυτό σκέφτηκα να εντοπίσω όλες τις μεγάλες τιμές και να τις πετάξω,αφού είναι ελάχιστες σε σχέση με το μέγεθος του dataset που έχω.

Δημοσ.
6 λεπτά πριν, georgemarios είπε

σε αυτή τη περίπτωση, φιλτραρε τις τιμες βασει του μήκους του string, και μετα το μετατρεπεις σε νουμερα

Ενδεικτικά


df['column'].str.len() < 6

 

Τέλεια,δεν το είχα σκεφτεί!

Σ ευχαριστώ πολύ!!!

Δημοσ.

Επίσης, όπως βλέπω ο αριθμός σου εχει τελειες, δε ξερω αν παιζει καποιο μπερδεμα καιτ ο pandas τα θεωρει multiple decimal points

Οποτε δοκιμασε απλα να τα αφαιρεσεις απο το string πριν τη μετατροπη

df['column'].str.replace('\.','').astype(int)

 

  • Like 1
Δημοσ.
1 λεπτό πριν, georgemarios είπε

Επίσης, όπως βλέπω ο αριθμός σου εχει τελειες, δε ξερω αν παιζει καποιο μπερδεμα καιτ ο pandas τα θεωρει multiple decimal points

Οποτε δοκιμασε απλα να τα αφαιρεσεις απο το string πριν τη μετατροπη


df['column'].str.replace('\.','').astype(int)

 

Το σκέφτηκα αυτό, βέβαια δούλεψε αυτό που μου είπες πριν,  και επειδή δεν προλαβαίνω το αφήνω έτσι, έτσι κι αλλιώς πρόκειται για data entry errors λογικά...

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...