Python:将函数应用于从新计算列获取输入的DataFrame

2024-09-27 00:15:26 发布

您现在位置:Python中文网/ 问答频道 /正文

Im面临着一个问题:将一个函数应用于一个数据帧(根据每年每小时的天气数据为太阳能集热器建模)

假设我有以下(简化)数据帧:

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的值)。在

^{pr2}$

我知道上面的函数不起作用,但它给出了我想要什么的想法。在

所以总结一下:

创建一个函数,该函数在dataframe中创建一个新列,并将其上方一行的新列的值作为输入

有人能帮帮我吗?在

提前谢谢。在


Tags: 数据函数dataframe定义建模天气df2小时
2条回答

听起来你在计算一个累计的总和。在这种情况下,请使用cumsum

In [45]: df['D'] = (df['A']+df['B']+df['C']).cumsum()

In [46]: df
Out[46]: 
    A   B  C   D
0  11  13  5  29
1   6   7  4  46
2   8   3  6  63
3   4   8  7  82
4   0   1  7  90

[5 rows x 4 columns]

你在找这个吗?
{a1与当前行对齐},然后可以使用^与当前行对齐。在

In [7]: df
Out[7]:
   a  b
1  1  1
2  2  2
3  3  3
4  4  4

[4 rows x 2 columns]

In [8]: df['c'] = df['b'].shift(1) #First row will be Nan

In [9]: df
Out[9]:
   a  b   c
1  1  1 NaN
2  2  2   1
3  3  3   2
4  4  4   3

[4 rows x 3 columns]

相关问题 更多 >

    热门问题