Freitag, Juni 5, 2020

Hinzufügen von berechneten Spalte zu einer Pandabären-pivot-Tabelle

Habe ich einen Pandabären Daten-frame und dann konvertiert es in pivot-Tabelle.

Meine pivot-Tabelle sieht wie folgt aus:

Operators   TotalCB     Qd(cb)  Autopass(cb)
Aircel India    55        11       44
Airtel Ghana    20        17        3
Airtel India    41         9        9
Airtel Kenya    9          4        5
Airtel Nigeria  24        17        7
AT&T USA        18        10        8

Ich Frage mich, wie fügen Sie berechnete Spalten, so dass ich meine pivot-Tabelle mit Autopass% ( Autopass(cb)/TotalCB*100 ), die genau wie wir sind in der Lage, erstellen Sie in Excel mit option berechnetes Feld.

Ich will meine pivot-Tabelle-Ausgabe zu etwas wie unten:

Operators   TotalCB     Qd(cb)  Autopass(cb)    Qd(cb)% Autopass(cb)%
Aircel India    55          11    44             20%     80%
Airtel Ghana    20          17     3             85%     15%
Airtel India    41          29     9             71%     22%
Airtel Kenya     9           4     5             44%     56%
AT&T USA        18          10     8             56%     44%

Wie definiere ich die Funktion berechnet die prozentuale Spalten und wie man diese Funktion auf meine zwei Spalten, nämlich Qd(cb) und Autopass(cb) geben mir zusätzliche berechnete Spalten

  • haben Sie versucht, einen code schreiben überhaupt ?
  • Klar einige code wurde geschrieben, @Tony: bekommt Man nicht auf der Bühne, die eine pivot-Tabelle in pandas ohne code. Dein Kommentar war nicht hilfreich.
  • Dank Oxinabox. @Tony ja ich importiert die Daten mit read_csv in einen dataframe und der verwendet die pivot_table Funktion zum erstellen der pivot-Tabelle.
InformationsquelleAutor Pynewbie | 2014-10-11

1 Kommentar

  1. 6

    Dies sollte es tun, vorausgesetzt data ist Ihre geschwenkt dataframe:

    data['Autopass(cb)%'] = data['Autopass(cb)'] / data['TotalCB'] * 100
    data['Qd(cb)%'] = data['Qd(cb)'] / data['TotalCB'] * 100

    Hinzufügen einer neuen Spalte zu einem dataframe ist so einfach wie df['colname'] = new_series. Hier weisen wir mit Ihrem gewünschten Funktion, wenn wir es tun, als eine Vektor-operation, die es erstellt eine neue Reihe.

    • Dank Korem es hat geklappt :). Schätzen Sie Ihre Zeit und Mühe

Kostenlose Online-Tests