Hier ist ein Pandas Datenrahmen wie folgt definiert:Wie man einige Operationen wie groupby() und value_counts() in Pandas macht?
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo', 'foo'],
'B' : ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three', 'two'],
'C' : [0, 1, 0, 1, 1, 2, 0, 2, 1]})
>>> df
A B C
0 foo one 0
1 bar one 1
2 foo two 0
3 bar three 1
4 foo two 1
5 bar two 2
6 foo one 0
7 foo three 2
8 foo two 1
ich zwei Operationen tun will.
Zuerst gruppieren Sie das Datenfeld nach Spalte A
und B
. Somit werden in diesem Fall 6 Gruppen erhalten. Diese Operation ähnelt der Funktion groupby() in Pandas.
Führen Sie dann für jede Gruppe den Zählvorgang für die Spalte C
durch, da es in diesem Fall drei verschiedene Werte (0, 1 und 2) geben kann. Diese Operation ähnelt der Funktion value_counts() in Pandas.
Schließlich möchte ich einen neuen Dataframe wie folgt.
A B C_value0 C_value1 C_value2
0 foo one 2 0 0
1 foo two 1 2 0
2 foo three 0 0 1
3 bar one 0 1 0
4 bar two 0 0 1
5 bar three 0 1 0
Kann mir jemand sagen, wie ich das erreichen kann? Vielen Dank!
Schöne Lösung! Vielen Dank! – o0Helloworld0o
Froh kann dir helfen. Bitte nicht vergessen [accept] (http://meta.stackexchange.com/a/5235/295067) es. Vielen Dank. – jezrael
Wenn ich Ihren Code ausführen, kam ein Fehler heraus. Der Fehler lautete "TypeError: muss einen Index zum Umbenennen übergeben". Dann lösche ich ".rename_axis (None, axis = 1)" und es kann erfolgreich ausgeführt werden. – o0Helloworld0o