Pandas 不将 python 转换为原生datetime
反对Timestamp
对象从中datetimeindexs
可以被创建。正在阅读pandas.DatetimeIndex https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.DatetimeIndex.html文档会有所帮助。
问题是有datetime
日期列的对象不会创建 pandasTimestamp
目的。熊猫Timestamp
是 Pandas 的替代品datetime.datetime
Timestamp 相当于 python 的 Datetime,并且在大多数情况下可以与之互换。它是用于构成 DatetimeIndex 和 pandas 中其他面向时间序列的数据结构的条目的类型。
看看pandas.时间戳 https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.Timestamp.html文档
df = pd.DataFrame(np.random.randn(10,4), columns = list('abcd')) # sample df
df.index = pd.date_range(start='2018-1-1', end='2018-1-10') # use pandas to create a date range and set index
df['date'] = pd.date_range(start='2018-1-1', end='2018-1-10') # also set as column values
print(f"date column type: {type(df['date'][0])}\ndate index type: {type(df.index)}\n")
df['date'] = df['date'].apply(lambda x: datetime.date(x)) # convert pandas timestamp to datetime.date
print(f"type for datetime.date: {type(df['date'][0])}")
df.set_index('date', inplace=True) # set datetime.date as index
print(f"type for datetime.date as index: {type(df.index)}")
out:
date column type: <class 'pandas._libs.tslibs.timestamps.Timestamp'>
date index type: <class 'pandas.core.indexes.datetimes.DatetimeIndex'>
type for datetime.date: <class 'datetime.date'>
type for datetime.date as index: <class 'pandas.core.indexes.base.Index'>
查看第一和第三个输出:
<class 'pandas._libs.tslibs.timestamps.Timestamp'>
vs <class 'datetime.date'>