首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >超出范围的数据下降时间值:寻求效率提升

超出范围的数据下降时间值:寻求效率提升
EN

Stack Overflow用户
提问于 2021-09-12 09:53:45
回答 1查看 43关注 0票数 1

需要排除9:30-16:00之外带有Time的行(包括9:30和16:00)。

代码语言:javascript
复制
            Symbol                Time    Open    High     Low   Close  Volume  LOD  Sessions
0         AEHR 2021-08-11 04:33:00    6.52    6.52    6.52    6.52     200  NaN       NaN
1         AEHR 2021-08-11 05:43:00    6.46    6.46    6.46    6.46     100  NaN       NaN
2         AEHR 2021-08-11 07:53:00    6.34    6.34    6.34    6.34     300  NaN       NaN
3         AEHR 2021-08-11 08:02:00    6.06    6.08    6.06    6.08     402  NaN       NaN
4         AEHR 2021-08-11 08:05:00    6.15    6.15    6.15    6.15     100  NaN       NaN
...        ...                 ...     ...     ...     ...     ...     ...  ...       ...

输出:

代码语言:javascript
复制
        Symbol                Time   Open   High    Low  Close  Volume  LOD  Sessions
0         AEHR 2019-09-23 09:31:00   1.42   1.42   1.42   1.42     200  NaN       NaN
1         AEHR 2019-09-23 09:43:00   1.35   1.35   1.34   1.34    6062  NaN       NaN
2         AEHR 2019-09-23 09:58:00   1.35   1.35   1.29   1.30    8665  NaN       NaN
3         AEHR 2019-09-23 09:59:00   1.32   1.32   1.32   1.32     100  NaN       NaN
4         AEHR 2019-09-23 10:00:00   1.35   1.35   1.35   1.35     400  NaN       NaN
...        ...                 ...    ...    ...    ...    ...     ...  ...       ...

解决方案可以工作,但非常慢吗:

代码语言:javascript
复制
df['time'] = pd.to_datetime(df['Time']).dt.time

#Drop non-market time data (i.e outside 9:30-4:00)
df['after_open'] = df['time'] >= datetime.time(9, 30)
df['before_close'] = df['time'] <= datetime.time(16, 00)
filt = (df['after_open'] == False)
df = df.drop(index=df[filt].index)
filt2 = (df['before_close'] == False)
df = df.drop(index=df[filt2].index)
EN

回答 1

Stack Overflow用户

发布于 2021-09-12 09:57:55

试试这两条线:

代码语言:javascript
复制
df['Time'] = pd.to_datetime(df['Time'])
df = df.loc[df['Time'].ge("09:30:00") & df['Time'].le("16:00:00")]

代码语言:javascript
复制
print(df)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69150305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档