2024-03-29 06:28:03 发布
网友
我试图计算一个值比上一个值大2倍的次数。 我试过了
df['new'] = df.ms.gt(df.ms.shift())
和其他类似的台词,但没有一句能满足我的需要。在
由于需要特定的差异,gt将不起作用。你可以简单地减去,看看差值是否大于2:
gt
(df.ms - df.ms.shift() > 2).sum()
编辑:更改后可以得到您的答案,而不是创建新列。sum在这里工作是因为它将布尔值转换为1和0。在
sum
你在找diff?找出连续值之间的差值,检查它们的差值是否大于或等于2,然后计算True的行数:
diff
True
(df.ms.diff() >= 2).sum()
如果需要检查差值是否正好是2,则将>=更改为==:
>=
==
可能不够优雅,但是:
df['new_ms'] = df['ms'].shift(-1) df['new'] = np.where((df['ms'] - df['new_ms']) >= 2, 1, 0) df['new'].sum()
由于需要特定的差异,
gt
将不起作用。你可以简单地减去,看看差值是否大于2:编辑:更改后可以得到您的答案,而不是创建新列。
sum
在这里工作是因为它将布尔值转换为1和0。在你在找
diff
?找出连续值之间的差值,检查它们的差值是否大于或等于2,然后计算True
的行数:如果需要检查差值是否正好是2,则将
^{pr2}$>=
更改为==
:可能不够优雅,但是:
相关问题 更多 >
编程相关推荐