快速连接两个数据帧

2024-04-25 22:25:26 发布

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

我有两个数据帧:

date                    value
2019-09-12 17:10:31      1
2019-09-12 17:10:31      0.5
2019-09-12 17:10:35      2
2019-09-12 17:10:36      1
.                        .
.                        .
.                        .

第二个是:

date1                    value1
2019-09-12 17:10:22      0.2
2019-09-12 17:10:24      0.3
2019-09-12 17:10:30      0.002
2019-09-12 17:10:46      0.11
.                        .
.                        .
.                        .

在第一个df中,我想添加一个列,其中包含从“date-60秒”到“date”的value1的和的信息。我做了这样的事:

def volume_traded(df, interval, df1):
    return df.date.apply(lambda x: get_volume_in_interval(x, interval, df1))


def get_volume_in_interval(time, interval, df1):
    temp = df1[(df1.date1 < time) & (df1.date1 > time - 
datetime.timedelta(seconds=interval))]
    return temp.value.sum()

这个解决方案非常慢(我说的是大约有20-50k行的数据帧)


Tags: 数据indfgetdatereturntimevalue

热门问题