gpt4 book ai didi

python - pandas 逐日迭代数据框

转载 作者:行者123 更新时间:2023-12-01 06:39:55 25 4
gpt4 key购买 nike

我正在尝试每天迭代数据帧。

我的数据如下所示:

                         open    high     low   close   volume
date
2019-12-18 09:15:00+05:30 182.10 182.30 180.55 181.30 4252638
2019-12-18 09:30:00+05:30 181.30 183.45 181.00 183.20 5869850
2019-12-18 09:45:00+05:30 183.35 184.50 183.05 183.25 5201947
2019-12-18 10:00:00+05:30 183.25 183.30 182.45 182.90 2029440
2019-12-18 10:15:00+05:30 182.95 183.25 181.50 182.00 2613453
... ... ... ... ... ...
2019-12-24 14:15:00+05:30 175.40 175.70 175.10 175.40 480322
2019-12-24 14:30:00+05:30 175.40 175.60 174.65 174.80 1193108
2019-12-24 14:45:00+05:30 174.80 176.10 174.75 175.55 1765370
2019-12-24 15:00:00+05:30 175.50 175.75 174.90 175.50 1369208
2019-12-24 15:15:00+05:30 175.45 175.75 175.20 175.40 2010583

我已经尝试过

(df['date'] >= "18-12-2019 09:00:00") & (df['date'] <= "18-12-2019 16:00:00")

但我不需要特定日期的数据,我想根据日期将当前数据帧拆分为多个数据帧并将其存储在数组中。我怎样才能做到这一点?

预期输出:

res = [] # list of dataframes length =  number of days


res[0] =

open high low close volume
date
2019-12-18 09:15:00+05:30 182.10 182.30 180.55 181.30 4252638
2019-12-18 09:30:00+05:30 181.30 183.45 181.00 183.20 5869850
2019-12-18 09:45:00+05:30 183.35 184.50 183.05 183.25 5201947
2019-12-18 10:00:00+05:30 183.25 183.30 182.45 182.90 2029440
2019-12-18 10:15:00+05:30 182.95 183.25 181.50 182.00 2613453


res[1] =
open high low close volume
date
2019-12-19 09:15:00+05:30 182.10 182.30 180.55 181.30 4252638
2019-12-19 09:30:00+05:30 181.30 183.45 181.00 183.20 5869850
2019-12-19 09:45:00+05:30 183.35 184.50 183.05 183.25 5201947
2019-12-19 10:00:00+05:30 183.25 183.30 182.45 182.90 2029440
2019-12-19 10:15:00+05:30 182.95 183.25 181.50 182.00 2613453

...
...
res[n] =
2019-12-24 14:15:00+05:30 175.40 175.70 175.10 175.40 480322
2019-12-24 14:30:00+05:30 175.40 175.60 174.65 174.80 1193108
2019-12-24 14:45:00+05:30 174.80 176.10 174.75 175.55 1765370
2019-12-24 15:00:00+05:30 175.50 175.75 174.90 175.50 1369208
2019-12-24 15:15:00+05:30 175.45 175.75 175.20 175.40 2010583

不同的日期数据被吐出并放置在数组中。

最佳答案

您可以尝试使用 groupby 方法并按照您喜欢的方式聚合所有其他列。例如:

df.groupby(df.date.dt.date)['open'].sum()

OHLC 将变成:

df.groupby(df.date.dt.date).agg({
'open': 'first',
'high': 'max',
'low': 'min',
'close': 'last',
})

关于python - pandas 逐日迭代数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59504449/

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