So sortieren Sie die Spaltenüberschrift einer Pivot-Tabelle mit mehreren Indizes mithilfe von Listen

Steve

Ich versuche, meine Pivot-Tabellenspalten basierend auf Listen zu sortieren, die meine bevorzugte Sortierung enthalten. Beispiel unten:

df = pd.DataFrame({'Name':['name1', 'name2', 'name1', 'name2', 'name2','name2'], 
                   'Block':['Block 1','Block 1', 'Block 10','Block 2','Block 2','Block 2'], 
                   'Week':['wk1','wk2','wk42','wk11','wk9','wk8'],
                   'Date':['01/15/2020','01/20/2020','11/29/2020','05/01/2020','04/20/2020','04/15/2020'],
                   'Events':['SIR','','','RSNA', '','CORE'],
                   'Rotation':['ABD','MAM','ER','UMH','PEDI','VIR']
                  })


df_summary = df.pivot_table(index=['Rotation'], columns=['Block','Week','Date','Events'], values='Name', aggfunc="count").fillna(0).astype(int)

was die folgende Pivot-Tabelle erzeugt

Drehpunkt

Die Spalten der Pivot-Tabelle befinden sich nicht in der bevorzugten Reihenfolge. Ich möchte die Sortierung meiner Listen verwenden:

blocks = ['Block 1','Block 2','Block 10']
weeks = ['wk1','wk2','wk8','wk9','wk11','wk42']
dates = ['01/15/2020','01/20/2020','04/15/2020','04/20/2020','05/01/2020','11/29/2020']

Also habe ich es versucht .reindex(siehe unten), bekomme aber immer einen Fehler - TypeError: Expected tuple, got str

df_summary = df_summary.reindex(columns=blocks)

oder

df_summary = df_summary.reindex(columns=blocks,weeks,dates)

Kann dies mithilfe von Neuindizierung mit Listen erfolgen? Sollte ich versuchen, mit Wörterbüchern neu zu indizieren? Jede Hilfe wäre sehr dankbar!

BENY

Einfache Verwendung pd.crosstabmitnatsorted

from natsort import natsorted
df.Block=pd.Categorical(df.Block,categories=natsorted(df.Block.unique()),ordered=True)
s=pd.crosstab(df.Rotation,[df.Block,df.Week,df.Date,df.Events]).sort_index(level=0,axis=1)
s
Out[305]: 
Block       Block 1               Block 2                         Block 10
Week            wk1        wk2       wk11        wk8        wk9       wk42
Date     01/15/2020 01/20/2020 05/01/2020 04/15/2020 04/20/2020 11/29/2020
Events          SIR                  RSNA       CORE                      
Rotation                                                                  
ABD               1          0          0          0          0          0
ER                0          0          0          0          0          1
MAM               0          1          0          0          0          0
PEDI              0          0          0          0          1          0
UMH               0          0          1          0          0          0
VIR               0          0          0          1          0          0

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv