gpt4 book ai didi

python - 使用当前行作为条件的 Pandas 累积和

转载 作者:太空宇宙 更新时间:2023-11-03 18:17:43 24 4
gpt4 key购买 nike

我有一个相当大的数据集,约有 200 万条记录,每条记录都有开始时间和结束时间。我想在每条记录中插入一个字段来计算表中有多少条记录,其中:

  • 开始时间小于或等于“此行”的开始时间
  • 并且结束时间大于“此行”的开始时间

所以基本上每个记录最终都会计算出有多少事件(包括它自己)与其同时“事件”。

我一直在尝试教自己用 pandas 来做到这一点,但我什至不知道从哪里开始寻找。我可以找到很多对满足给定条件(例如“> 2”)的行进行求和的示例,但似乎无法掌握如何迭代行以根据当前行中的值有条件地对列求和。

最佳答案

您可以尝试下面的代码来获得最终结果。

import pandas as pd
import numpy as np
df = pd.DataFrame(np.array([[2,10],[5,8],[3,8],[6,9]]),columns=["start","end"])

active_events= {}
for i in df.index:
active_events[i] = len(df[(df["start"]<=df.loc[i,"start"]) & (df["end"]> df.loc[i,"start"])])
last_columns = pd.DataFrame({'No. active events' : pd.Series(active_events)})

df.join(last_columns)

关于python - 使用当前行作为条件的 Pandas 累积和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24745882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com