我有一个带有整数形式时间戳的 Dataframe 。我想将其转换为日期时间,这样我就可以使用mplfinance.plot()
绘制数据(如果我试图使用时间戳绘制,则会出现以下错误):
Expect data.index as DatetimeIndex
下面是一个示例来说明该问题:
import datetime as dt
data = {'timestamp': [1364774700, 1364775000,1364775900]}
df = pd.DataFrame (data, columns = ['timestamp'])
df['datetime'] = dt.datetime.fromtimestamp(df['timestamp'])
但这会产生错误:
TypeError: cannot convert the series to <class 'int'>
对单个时间戳值使用fromtimestamp可以正常工作。
2条答案
按热度按时间icnyk63a1#
那些整数时间戳是自Unix纪元以来的秒数(“Unix时间”);使用指定了
unti=second
的pandas.to_datetime
将df['timestamp']
转换为DatetimeIndex
:jdzmm42g2#
df['datetime'] = pd.to_datetime(df['timestamp'])
我的理解是,pandas datetime和datetime模块有微妙的不同,当使用pandas时,最好使用pandas实现。