使用pandas计算大于先前值的值

2024-03-29 06:28:03 发布

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

我试图计算一个值比上一个值大2倍的次数。 我试过了

df['new'] = df.ms.gt(df.ms.shift())

和其他类似的台词,但没有一句能满足我的需要。在


Tags: gtdfnewshift次数ms台词
3条回答

由于需要特定的差异,gt将不起作用。你可以简单地减去,看看差值是否大于2:

(df.ms - df.ms.shift() > 2).sum()

编辑:更改后可以得到您的答案,而不是创建新列。sum在这里工作是因为它将布尔值转换为1和0。在

你在找diff?找出连续值之间的差值,检查它们的差值是否大于或等于2,然后计算True的行数:

(df.ms.diff() >= 2).sum()

如果需要检查差值是否正好是2,则将>=更改为==

^{pr2}$

可能不够优雅,但是:

df['new_ms'] = df['ms'].shift(-1)

df['new'] = np.where((df['ms'] - df['new_ms']) >= 2, 1, 0)

df['new'].sum() 

相关问题 更多 >