pandas - 使用 pandas datetimeindex 的数据系列中的差距
问题描述
我有一个带有以下 DatetimeIndex 的 pandas 数据框:
DatetimeIndex(['2019-06-13 15:30:00', '2019-06-13 15:31:00',
'2019-06-13 15:32:00', '2019-06-13 15:33:00',
....
'2020-03-06 21:56:00', '2020-03-06 21:57:00',
'2020-03-06 21:58:00', '2020-03-06 21:59:00'],
dtype='datetime64[ns]', name='Date', length=72622, freq=None)
“时间”从 15:30 开始,到 21:59 结束,间隔为 1 分钟。
我现在正在绘制一个带有数字的列,但问题是 22:00 - 15:29 之间的时间间隔
有什么建议可以使它成为一个连续的数据点系列吗?
更新:
这是我正在使用的代码:
import pandas as pd
import numpy as np
sp = pd.read_csv('ES_M1_askbid_1yr.csv')
sp.columns = sp.columns.str.strip()
sp.rename(columns = {'Close' : 'Delta'}, inplace=True)
sp['Date'] = pd.to_datetime(sp['Date'] + ' ' + sp['Time'])
sp.set_index('Date', inplace=True)
sp.drop(['Time','K', 'L', 'M', 'N', 'Bid Volume', 'Ask Volume','Open.1'], axis=1, inplace=True)
rangeHLsub = (sp['Low'] - sp['High'])/0.25
rangeOCsub = (sp['Open'] - sp['Last'])/0.25
divBAR_DELTAraw = round((rangeOCsub / sp['Delta'])*100)
sp['div_Bar_Delta_raw'] = divBAR_DELTAraw
sp['div_Bar_Delta'] = sp['div_Bar_Delta_raw'].replace([np.inf, -np.inf], np.nan)
sp.drop(['div_Bar_Delta_raw'], axis=1, inplace=True)
iplot(sp['div_Bar_Delta'].iplot(asFigure=True,
kind='scatter',xTitle='Dates',yTitle='div bar delta',title='div bar delta'))
解决方案
您可以尝试这样的方法来删除没有值的行,并且只有时间在 15:30 到 21:59 之间的行 -
import time
df[(df['datetime'].dt.time >= time(15,30)) & (df['datetime'].dt.time <= time(21, 59))]
推荐阅读
- mysql - 根据 IN 条件应用 mysql 限制
- ios - UILabel 在界面构建器和模拟器中的显示方式不同
- android - 如何在android设备中获取最近的联系人列表
- php - Laravel Markdown - 发送到 gmail 地址的电子邮件被标记为垃圾邮件
- google-maps-sdk-ios - GoogleMaps SDK for iOS 2.2.0 之后所有版本中的致命错误
- android - Android gradle中的清单合并失败错误
- python-2.7 - 混淆之后可以在网址中使用的字符串
- scala - 找不到 Apache Spark 方法 sun.nio.ch.DirectBuffer.cleaner()Lsun/misc/Cleaner;
- node.js - 如何在meteorjs的客户端读取文件?
- php - Libreoffice shell_exec 在 PHP 脚本中失败