pandas 下一行减去上一行

本文介绍了Pandas库中用于数据处理的几个关键函数:diff()、shift()和cumsum()。diff()函数计算差分,shift()函数实现数据移动,cumsum()函数计算累积和。在实际应用中,这些函数被用于计算体积公式、累计变化等复杂计算。通过示例代码展示了如何处理数据并解决运算过程中遇到的问题,如类型转换错误。同时,文章提供了使用DataFrame.eval()函数进行表达式计算的方法。

1.diff()函数df['1].diff()
结果第一个结果为NAN。

2.shift()函数:df['1'].shift(-1) - df['1'] 代表下一行减去上一行。结果最后一行值为NAN。

  • pandas DataFrame.shift()函数可以把数据移动指定的位数。
  • period参数指定移动的步幅,可以为正为负.axis指定移动的轴,1为行,0为列.
Series.shift(periods=1, freq=None, axis=0, fill_value=None)

shift()函数:默认向下(axis=0)向右移动(axis=1)。
如果想要向上向左移动,需要设置参数periods=-1,即向上移动:data.shift(periods=-1, axis=0)
向左移动:data.shift(periods=-1, axis=1)

3.pandas对单列、多列进行计算
对多列进行公式计算:
https://blog.csdn.net/zwhooo/article/details/79696558

4.python中上下行、列之间运算

改行与上一行做运算:

df['B'] = math.sqrt(df['A'] * df['A'].shift(periods=-1, axis=0))

报错:
在这里插入图片描述
解决办法:https://stackoverflow.com/questions/42988348/typeerror-cannot-convert-the-series-to-class-float

代码修改为:

df["B"] = (df["A"] * df["A"].shift(periods=-1, axis=0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值