问题标签 [datetimeindex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - PANDAS - 循环两个不同大小的日期时间索引以比较日期和值
寻找一种更有效的方法来循环和比较两个具有不同频率的 Series 对象中的 datetimeindex 值。
设置
想象一下两个 Pandas 系列,每个系列都有一个日期时间索引,涵盖相同的年份跨度,但每个索引的频率不同。一个有几天的频率,另一个有几个小时的频率。
我正在尝试使用它们的索引来循环遍历这些系列,以查找匹配天数,以便我可以比较每天的数据。
我现在在做什么……慢。
现在我正在使用多级 for 循环和 if 语句(见下文);与我在 Pandas 操作中习惯的时间相比,完成这些循环的时间似乎过多(每个循环 5.45 秒)。
问题
是否有更有效的方法使用 frame1 中的索引来循环 frame2 中的索引并比较给定日期每一帧中的值?最终,我想在 frame2 vals 大于 frame1 vals 的地方创建一系列值。
可重现(测试)示例
使用随机数据创建两个单独的系列,并为每个系列分配一个日期时间索引。
pandas - 在熊猫数据框的日期时间索引中移动值
我有一个 df,其 DateTimeIndex 在很长一段时间(> 1 年)内的间隔为 30 分钟,因此 >17520 行。由于与夏令时相关的原因,索引中的两个索引值重复,并且缺少两个值。所以重复的值是:
我想在 1 小时后将这些更改为缺失值:
但这不会改变索引:
什么会?
pandas - 熊猫:无法转换类型到时间戳
尝试使用标签对 pandas 数据框进行切片时收到以下错误消息。
TypeError:无法将类型的输入 [DatetimeIndex(['2010-05-05'], dtype='datetime64[ns]', name=u'Date', freq=None)] 转换为时间戳
我很困惑为什么不能在这里使用 datetimeIndex 对象来分割这个 pandas 数据帧,因为从关于截断函数的文档来看,这应该有效吗?为什么我还需要将 datetimeIndex 转换为 Timestamp?
所以我猜我可能在这里错过了一些细节?任何帮助,将不胜感激。谢谢!
这是我的示例数据的代码和输出:
类'pandas.core.frame.DataFrame'
DatetimeIndex(['2010-05-05'], dtype='datetime64[ns]', name=u'Date', freq=None)
类'pandas.tseries.index.DatetimeIndex'
类'pandas.tseries.index.DatetimeIndex'
python - 可散列的 Pandas 日期时间索引
我正在尝试foo(dti: DatetimeIndex)
使用@functools.lru_cache()
注释来记忆一个方法。但是,它抱怨TypeError: unhashable type: 'DatetimeIndex'
.
由于DatetimeIndex
对象是不可变的,所以应该有一种很好的方法将它们用作记忆的关键,对吧?
另外,DatetimeIndex
定义一个哈希方法来简单地返回它会有什么问题id()
?
pandas - 如何将 pandas datatimeindex 设为每日两次?
我有一个看起来像这样的熊猫 df:
我的日期是datetime64[ns]
和其他列float64
。
我怎样才能制作我的时间序列,以便每天Open_fut
都在2017-05-12 09:30:00
等Close_fut
时间出现?2017-05-12 15:30:00
编辑:
理想情况下,新的 df 如下所示:
pandas - 到熊猫中多个不规则采样事件的距离
我有一个不规则的采样时间序列
我想计算每个事件之间的累积经过时间n
。有一个类似的问题(Pandas time series time between events),但由于时间索引不规则,我无法使解决方案适应我的问题。我的尝试是使用df1['diff']=df1.groupby('event_bool')['event_time'].diff()
获得这样的东西:
但是我有以下未解决的问题:
e
之后的第一个事件有一个 NaTn
。结果应该是“00:00:32.491000”- 何来累积
n
事件之间的经过时间?
pandas - 自定义 pandas 交易时间的日期时间偏移/频率:工作日上午 9:30-下午 4:00,美国节假日除外
交易数据在非节假日工作日上午 9:30 开始记录,并定期记录(5 秒、5 分钟、30 分钟等)直到下午 4:00。例如,非节假日工作日的 [9:30AM, 9:35AM,...,3:50PM, 3:55PM] 是有 5 分钟数据的时间。
是否pandas
具备正确使用这种时间结构所需的能力?我已经看到有一些方法可以将自定义假期添加到工作日(上午 9:00 到下午 4:00)。但是我还没有看到定义自定义工作时间,比如(9:30AM-4:00PM)。例如,是否可以定义自定义交易时间[9:30AM, 10:30AM, ... 3:30PM],或者利用任何代码为营业时间提供支持的交易 5 分钟?
例如,是否有一种pandas
动力方式来生成DatetimeIndex
遵循交易时间规则的 5 分钟频率:
- 周一:上午 9 点 30 分、上午 9 点 35 分、... 下午 3 点 50 分、下午 3 点 55 分
- 周二:上午 9 点 30 分、上午 9 点 35 分、... 下午 3 点 50 分、下午 3 点 55 分
- ...
- 周五:上午 9:30、上午 9:35、... 下午 3:50、下午 3:55
- 星期一:联邦假期,没有时间
- 周二:上午 9 点 30 分、上午 9 点 35 分、... 下午 3 点 50 分、下午 3 点 55 分
- (等等)
或者这只是目前不支持?
换句话说,pandas
目前有哪些方法/类来实现这种功能?如果没有,有人知道其他可以提供帮助的库吗?
python - Python Pandas - 从 csv 文件创建时间序列
我想通过读取 csv 文件来创建时间序列“aapl”并将第一列设置为 DatetimeIndex。
这里有一些来自 csv 文件的行:
结果显示如下:
我试过了:
但这给我留下了:
它仍然是一个数据框,而不是一个系列。具有值的列仍然具有列名。
欢迎所有建议!
python - Python DatetimeIndex:如何将时间舍入到厘秒?
我有一个 DatetimeIndex 数据框,我正在尝试将微秒四舍五入到厘秒。
例如,我有以下数据框:
并且预期的输出应该与此类似:
我可以打印预期的结果,但我无法更改数据框。有没有其他更优化的方法来实现这一目标?我使用的方法是这样的:
python - 选择两个 DatetimeIndex 日期之间的行
我有以下格式的 CSV 文件:
我使用以下代码将 CSV 文件读入 DataFrame。日期被解析为索引 (DatetimeIndex)
现在我正在尝试使用以下代码获取两个日期之间的所有行(真正的 CSV 文件在下面提到的日期之间有大量行):
请注意,此处建议使用上述方法。但是,它不适合我。所以,这可能不是一个重复的问题。