Ich bin ein Neuling in Pandas. Ich habe den folgenden Datensatz. Stellen Sie sich den Datensatz als Abteilungen ('k1') und Personen ('k2') eines Unternehmens vor.Wie zu filtern gruppiert von in Pandas
dframe = pd.DataFrame({'k1': ['X','X','Y','Y','Z','Z'],
...: 'k2': ['P1','P2','P3','P4','P5','P6'],
...: 'dataset1': np.random.randn(6)})
...:
Wenn ich den Mittelwert von dept gruppiert nehmen/‚k1‘ ich folgendes
dataset1
k1
X 0.153825
Y -0.648500
Z 1.133334
erhalten, wenn ich den Mittelwert gruppiert von Menschen/‚k2‘ nehmen, bekomme ich die folgende
In [6]: dframe.groupby('k2').mean()
Out[6]:
dataset1
k2
P1 1.595455
P2 -1.287805
P3 0.211858
P4 -1.508859
P5 1.350336
P6 0.916332
Meine Frage ist, wie kann ich nur die nach Personen gruppierten Mittelwerte/'k2' filtern, die größer als der Mittelwert von dept/'k1' ist, zu dem es gehört. z.B. P1 Mittelwert größer ist als X Mittelwert, auf die sie
Out[6]:
dataset1
k2
P1 1.595455
P3 0.211858
P5 1.350336
Vielen Dank jezrael. Ich habe verstanden, was Transformation macht. Schön –