3
我有以下的熊貓數據幀和基線值:大熊貓:重組DataFrames
df = pd.DataFrame(data=[
{'yr': 2010, 'month': 0, 'name': 'Johnny', 'total': 50},,
{'yr': 2010, 'month': 0, 'name': 'Johnny', 'total': 50},
{'yr': 2010, 'month': 1, 'name': 'Johnny', 'total': 105},
{'yr': 2010, 'month': 0, 'name': 'Zack', 'total': 90}
])
baseline_value = 100
我分組和基於年份,月份和名稱彙總數據。然後,我計算相對淨總和基線值:
pt = pd.pivot_table(data=df, index=['yr', 'month', 'name'], values='total', aggfunc=np.sum)
pt['net'] = pt['total'] - baseline_value
print(pt)
total net
yr month name
2010 0 Johnny 100 0
Zack 90 -10
1 Johnny 105 5
我如何重組該數據幀因此輸出看起來是這樣的:
value
yr month name type
2010 0 Johnny Total 100
Net 0
Zack Total 90
Net -10
1 Johnny Total 105
Net 5
不錯!看起來像'pt.stack()。to_frame(name ='value')'也可以 –
是的,我忘記了to_frame中的名稱參數。 –
@ jcmetz21 ...使用'set_index'和'sum'以不同的方法更新答案。 –