Ich habe folgende Datenrahmen:Wie manipuliere ich element- und gruppenweise gleichzeitig im Multiindex-Frame?
df=pd.DataFrame(np.random.randint(1,3,27).reshape((9,3)),\
index= [['KH','KH','KH','KH','KH','KH','KH','KH','KH'],\
['AOK','AOK','AOK','DOK','DOK','DOK','ROK','ROK','ROK'],\
['A','B','C','A','B','C','A','B','C']],\
columns=['JE','TE','DE']\
)
df.index.names = ['Deck','Status','Urs']
df
Out[116]:
JE TE DE
Deck Status Urs
KH AOK A 1 1 2
B 1 2 2
C 2 1 1
DOK A 2 2 1
B 1 2 1
C 1 2 2
ROK A 2 2 2
B 1 1 2
C 1 2 1
Jetzt möchte ich einfach eine Spalte 'JErel'
ihm anhängen. Diese Spalte sollte die Werte von 'JE'
enthalten, aber als relativen Bruchteil. Der Bruch sollte sich auf die Gesamtsumme der 'Status'
Indexgruppen beziehen.
kann ich die Summe über Zugang:
1/df.loc[('KH','AOK')]['JE'].sum(),
1/df.loc[('KH','AOK')]['JE'].sum(),
2/df.loc[('KH','AOK')]['JE'].sum() and then,
2/df.loc[('KH','DOK')]['JE'].sum(), ...
,,,, Das ist, wie weit ich habe:
df.loc[('KH','AOK')]['JE'].sum()
Out[117]: 4
Die Säule in so etwas wie führen sollte. Wie kann ich die Spalte dynamisch mit apply(Lambda...)
oder so hinzufügen?
Sehr schöne Lösung. Vielen Dank. – JohnnyS