0
mit der Probe, das Ziel ist:einer Zusammenfassung Multiindex Pandas Dataframe
Berechnen Sie die funtions in jedem Wert von
'A'
, mit anderen Worten, berechnen etwas in alle Werte der Variablen in allenB
Werte in jedemA
Label .:
import numpy as np
import pandas as pd
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
'foo', 'bar', 'foo', 'foo'],
'B' : ['one', 'one', 'two', 'three',
'two', 'two', 'one', 'three'],
'C' : np.random.randn(8),
'D' : np.random.randn(8)})
def var1(x): return max(x)-min(x)
def var2(x): return (max(x)-min(x))/max(x)
def var3(x): return (max(x)-min(x))/ len(x)
df = df.groupby(['A','B']).agg({'C': var1, 'D': [var2, var3]})
Ziel
Die Ausgabe würde wie folgt aussehen:
A var1 var2 var3
bar 0.000000 -0.000000 0.000000
foo 1,008986 -0.8572265 0.3015905
Funktionen wie:
def var1(x): return max(x)-min(x)
def var2(x): return (max(x)-min(x))/max(x)
def var3(x): return (max(x)-min(x))/ len(x)
def mean(numbers):
return float(sum(numbers))/max(len(numbers), 1)
ok, hast du es, aber mit einer definierten Funktion? – PeCaDe
@PeCaDe, siehe aktualisierte Antwort ... – MaxU