作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试每天迭代数据帧。
我的数据如下所示:
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/
我想更改结果中每天的日期。怎么可能 类似的例子:在哪里REPLY_dATE 在“2017-03-17 12:00:00 AM”和“2017-03-17 4:00:00 PM”之间我想替换=====20
我想要获取过去一周至少登录一次的用户数量,但我希望每天独立计算,因此按周数分组是行不通的。 我的 crm_login_info 表结构如下所示: user_id (INT) | login_time
我是一名优秀的程序员,十分优秀!