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

Αλλαγή σε Order σε grouped column (Python Dataframe) μετά απο γκρουπάρισμα


masteripper

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

Δημοσ. (επεξεργασμένο)

Γεια χαρά έχω το εξής θέμα ...έχω 1 dataframe της μορφής

FLD1   FLD2         FLD3

Α       2021-11-10      1

Α       2021-11-11      3

Α       2021-11-12      5

B       2021-11-10      1

B       2021-11-11      2

B       2021-11-12      3

B       2021-11-14      6

Τώρα κάνω 1 group by και παίρνω και το Moving Average

df['ma']=df.groupby('FLD1')['FLD3'].transform(lambda x: x.rolling(5, 3).mean())

και όλα ωραία και καλά αλλά το πρόβλημα είναι ότι ενώ δουλεύει καλά χρειάζομαι να κάνω Flip ως προς την ημερομηνία

Δηλ έχω αυτό (Τιμές κουτουρου...μην κάνετε υπολογισμό)

FLD1   FLD2         FLD3    ΜΑ

Α       2021-11-10      1     ΝΑΝ

Α       2021-11-11      3     2.5

Α       2021-11-12      5     3.2

B       2021-11-10      1    ΝΑΝ

B       2021-11-11      2     1.2

B       2021-11-12      3    2.3

B       2021-11-14      6    2.8

και θελω να γίνει έτσι :

Α       2021-11-12      5     3.2

Α       2021-11-11      3     2.5

Α       2021-11-10      1     ΝΑΝ

B       2021-11-14      1    2.8

B       2021-11-12      2     2.3

B       2021-11-11      3     1.2

B       2021-11-10      6    ΝΑΝ

 

Καμμιά ιδέα ?

Επεξ/σία από masteripper
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Με ενα sort.values(['FLD1', 'FLD2'], ascending = [True, False]) θα εισαι ενταξει. Δες και εδώ:

https://stackoverflow.com/questions/27842613/pandas-groupby-sort-within-groups

Επεξ/σία από archer100
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

13 λεπτά πριν, archer100 είπε

Με ενα sort.values(['FLD1', 'FLD2'], ascending = [True, False]) θα εισαι ενταξει. Δες και εδώ:

https://stackoverflow.com/questions/27842613/pandas-groupby-sort-within-groups

και εγώ αυτό ήξερα αλλά δεν παίζει...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Χωρίς να είναι "ακριβώς" αυτό που θέλω το παρακάτω δουλεύει

df.sort_index(axis=0, ascending=False, inplace=True)

Update...η παραπάνω λύση δουλεύει όταν οι στήλες πάρουν το σωστό datatype...η ημερομηνία χτυπούσε και ήθελε αλλαγή :

 

pd.to_datetime(df['FLD2']).dt.date
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

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