如何从熊猫 DataFrame 中添加/减去时间(小时、分钟等)。索引哪些对象是 datetime.time 类型的?

我有一个 DataFrame,它的索引只是 datetime.time,而且 DataFrame 中没有方法。Index 和 datetime.time 来移动时间。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
165496 次浏览

Liam's link looks great, but also check out pandas.Timedelta - looks like it plays nicely with NumPy's and Python's time deltas.

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

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

This one worked for me:

>> 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

The Philippe solution but cleaner:

My subtraction data is: '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)