繁体   English   中英

如何从对象类型为 datetime.time 的 Pandas DataFrame.Index 添加/减去时间(小时、分钟等)?

[英]How to add/subtract time (hours, minutes, etc.) from a Pandas DataFrame.Index whos objects are of type datetime.time?

我有一个 DataFrame 的索引只是 datetime.time 并且 DataFrame.Index 和 datetime.time 中没有方法来改变时间。 datetime.time 已替换但仅适用于系列的单个项目?

以下是所用索引的示例:

In[526]:  dfa.index[:5]
Out[526]: Index([21:12:19, 21:12:20, 21:12:21, 21:12:21, 21:12:22], dtype='object')

In[527]:  type(dfa.index[0])
Out[527]: datetime.time

Liam 的链接看起来很棒,但也可以查看pandas.Timedelta - 看起来它与 NumPy 和 Python 的时间增量配合得很好。

https://pandas.pydata.org/pandas-docs/stable/timedeltas.html

pd.date_range('2014-01-01', periods=10) + pd.Timedelta(days=1)

这个对我有用:

>> print(df)
                          TotalVolume  Symbol
2016-04-15 09:00:00       108400       2802.T
2016-04-15 09:05:00       50300        2802.T

>> print(df.set_index(pd.to_datetime(df.index.values) - datetime(2016, 4, 15)))

             TotalVolume  Symbol
09:00:00     108400       2802.T
09:05:00     50300        2802.T

菲利普解决方案,但更清洁:

我的减法数据是:'2018-09-22T11:05:00.000Z'

import datetime
import pandas as pd

df_modified = pd.to_datetime(df_reference.index.values) - datetime.datetime(2018, 9, 22, 11, 5, 0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM