我面临将功能应用于DataFrame的问题(根据年度每小时天气数据建模太阳能收集器)
假设我有以下(简化)DataFrame:
df2:
A B C
0 11 13 5
1 6 7 4
2 8 3 6
3 4 8 7
4 0 1 7
现在我已经定义了一个函数,它将所有行作为输入来创建一个名为D的新列,但是我希望函数也采用D的最后一个计算值(第一行除外,因为没有计算D的值)作为输入 .
def Funct(x):
D = x['A']+x['B']+x['C']+(x-1)['D']
我知道上面的功能不起作用,但它可以让我知道我想要什么 .
总结一下:
创建一个在数据框中创建新列的函数,并将新列的值作为输入在其上方的一行中获取
有人能帮助我吗?
提前致谢 .
2 回答
你在找这个吗?
您可以使用shift将上一行与当前行对齐,然后您可以执行操作 .
这听起来像是在计算累计金额 . 在这种情况下,请使用
cumsum
: