我正在尝试将简单计算的结果附加到数据框中。我想对“年度”进行分组,然后计算“税收减税”以获得一组称为“净收入”的新记录。
import pandas as pd
data = {'year': [2010, 2011, 2012, 2011, 2012, 2010],
'item': ['Revenue', 'Revenue', 'Revenue', 'Tax', 'Tax', 'Tax'],
'value': [11, 8, 10, 3, 2, 3]}
dfRev = pd.DataFrame(data, columns=['year', 'item', 'value'])
print dfRev
year item value
0 2010 Revenue 11
1 2011 Revenue 8
2 2012 Revenue 10
3 2011 Tax 3
4 2012 Tax 2
5 2010 Tax 3
我想这样添加到底部。
year item value
0 2010 Revenue 11
1 2011 Revenue 8
2 2012 Revenue 10
3 2011 Tax 3
4 2012 Tax 2
5 2010 Tax 3
6 2010 Net Revenue 8
7 2011 Net Revenue 5
8 2012 Net Revenue 7
我的实际数据有更多标题,即原产地,产品,国家,项目,月份,值
我需要进行枢纽调整,以便按来源,产品,国家/地区,月份分组。然后将项目扔到列中,并将“值”作为值。
最佳答案
您可以尝试枢轴:
#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
关于python - 如何将计算应用于数据框中的分组行并将结果 append 到数据框的底部?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36722969/