I am trying to convert a DateTimeIndex with Pandas Timestamps into an Index with Python-native Datetime objects.
Here is my reproducible example:
import pandas as pd
import numpy as np
length = 5
dateIndex = pd.date_range(start='1/1/2018', periods=length, freq="H")
df = pd.DataFrame(np.random.randint(0,length,size=(length, 6)), columns=["Open","High","Low","Close","Volume","OpenInterest"], index=dateIndex)
df.index[0]
## returns Timestamp('2018-01-01 00:00:00', freq='H')
df.index.to_pydatetime()
## returns
array([datetime.datetime(2018, 1, 1, 0, 0),
datetime.datetime(2018, 1, 1, 1, 0),
datetime.datetime(2018, 1, 1, 2, 0),
datetime.datetime(2018, 1, 1, 3, 0),
datetime.datetime(2018, 1, 1, 4, 0)], dtype=object)
BUT:
df.index = df.index.to_pydatetime()
type(df.index[0])
## returns pandas._libs.tslibs.timestamps.Timestamp
Why am I not seeing a native DatetimeObject?