Python 如何将计算应用于数据帧中的groupby行,并将结果附加到数据帧的底部?

Python 如何将计算应用于数据帧中的groupby行,并将结果附加到数据帧的底部?,python,pandas,group-by,append,Python,Pandas,Group By,Append,我试图将一个简单计算的结果附加到一个数据帧中。我想按年度分组,然后计算收入减去税收,得到一组新的记录,称为净收入 将熊猫作为pd导入 数据={'year':[2010,2011,2012,2011,2012,2010], ‘项目’:[‘收入’、‘收入’、‘收入’、‘税收’、‘税收’、‘税收’], “值”:[11,8,10,3,2,3]} dfRev=pd.DataFrame(数据,列=['year','item','value']) 打印dfRev您可以尝试pivot: #reshape so

我试图将一个简单计算的结果附加到一个数据帧中。我想按年度分组,然后计算收入减去税收,得到一组新的记录,称为净收入

将熊猫作为pd导入
数据={'year':[2010,2011,2012,2011,2012,2010],
‘项目’:[‘收入’、‘收入’、‘收入’、‘税收’、‘税收’、‘税收’],
“值”:[11,8,10,3,2,3]}
dfRev=pd.DataFrame(数据,列=['year','item','value'])
打印dfRev
您可以尝试pivot:

#reshape so now you have a col for Tax and a col for Revenue
pivot = dfRev.pivot('year', 'item', 'value')
#perform the calculation
pivot.loc[:, 'Net Revenue'] = pivot.Revenue - pivot.Tax
#and then bring it back to the original shape
dfRev = pivot.stack().reset_index().sort_values(by='item')

print dfRev
   year         item   0
2  2010  Net Revenue   8
5  2011  Net Revenue   5
8  2012  Net Revenue   8
0  2010      Revenue  11
3  2011      Revenue   8
6  2012      Revenue  10
1  2010          Tax   3
4  2011          Tax   3
7  2012          Tax   2

我很难应用您的方法,因为我的实际文件中有多个列,很抱歉没有提供所有细节。所以我选择了pivot_table方法,这对我来说似乎更简单。另外,.sort_值(by='item')对我不起作用,所以我放弃了它,因为它不是必需的。pivot=pd.pivot_表(dfResultFinal,values='Value',index=['ORIGIN','Product','Country','Business','Existing','Month'],columns='measuredetail')在进行数据透视计算并尝试取消pivot后,我遇到了一个问题,即“Value”名称被删除并替换为0?任何想法。dfResultFinal=pivot.stack().reset_index()也许您可以发布实际数据的样本?看起来你想做比你原来的问题更多的事情。很难不看清楚你在说什么。