如何根据另一个列值计算行值之间的差值,而不过滤其中的值

  • 本文关键字:过滤 之间 何根 另一个 计算 pandas
  • 更新时间 :
  • 英文 :


如何根据另一个列值计算行值之间的差值,而不过滤其中的值。我想计算turn_marker == 1的秒差。但是当我使用下面的方法时,它过滤了所有的零,但是我需要零,因为我需要整个数据集。

在这里你可以看到我的数据集,有一列叫做turn_marker,它的值是0和1,另一列是秒。现在我要计算turn_marker等于1的行之间的时间

dataframe = main_dataframe.query("turn_marker=='1;'")
main_dataframe["seconds_diff"] = dataframe["seconds"].diff()
main_dataframe

如果你能帮助我,我将不胜感激。

你可以这样做:

main_dataframe['indx'] = main_dataframe.index
main_dataframe['diff'] = main_dataframe.sort_values(by=['turn_marker', 'indx'], ascending=[False, True])['seconds'].diff()
main_dataframe.loc[main_dataframe.turn_marker == '0;', 'diff'] = np.nan

最新更新