Angesichts der folgenden Datenrahmen:Pandas Pivot-Tabelle Zählwerte (Ausschließen „NaN“)
import numpy as np
import pandas as pd
df = pd.DataFrame({'Site':['a','a','a','b','b','b'],
'x':[1,1,0,1,np.nan,0],
'y':[1,np.nan,0,1,1,0]
})
df
Site y x
0 a 1.0 1
1 a NaN 1
2 a 0.0 0
3 b 1.0 1
4 b 1.0 NaN
5 b 0.0 0
Ich möchte diesen Datenrahmen schwenken, um die Anzahl der Werte zu erhalten (mit Ausnahme von „NaN“) für jeden Säule.
Ich habe versucht, was ich in anderen Posts fand, aber nichts scheint zu funktionieren (vielleicht gab es eine Veränderung in Pandas 0,18)?
Wunschergebnis:
Item count
Site
a y 2
b y 3
a x 3
b x 2
Vielen Dank im Voraus!
Warum brauchen Sie Pivot? 'df.count()' gibt Ihnen die Anzahl (ohne Nans)? – ayhan
Da brauche ich eine Pivot-Tabelle für eine andere Funktion (um den Prozentsatz der Zeilen pro Spalte zu berechnen, die 1 enthalten). –
Können Sie zeigen, wie die resultierende Pivot-Tabelle aussehen würde? – ayhan