将Pandas DatetimeIndex转换为数字格式
问题内容:
我想将DataFrame中的DatetimeIndex转换为float格式,可以在模型中对其进行分析。有人可以告诉我该怎么做吗?我需要使用date2num()函数吗?非常感谢!
问题答案:
转换为Timedelta
并从中提取总秒数dt.total_seconds
:
df
date
0 2013-01-01
1 2013-01-02
2 2013-01-03
3 2013-01-04
4 2013-01-05
5 2013-01-06
6 2013-01-07
7 2013-01-08
8 2013-01-09
9 2013-01-10
pd.to_timedelta(df.date).dt.total_seconds()
0 1.356998e+09
1 1.357085e+09
2 1.357171e+09
3 1.357258e+09
4 1.357344e+09
5 1.357430e+09
6 1.357517e+09
7 1.357603e+09
8 1.357690e+09
9 1.357776e+09
Name: date, dtype: float64
或者,将数据作为一种int
类型显示可能会更有用:
pd.to_timedelta(df.date).dt.total_seconds().astype(int)
0 1356998400
1 1357084800
2 1357171200
3 1357257600
4 1357344000
5 1357430400
6 1357516800
7 1357603200
8 1357689600
9 1357776000
Name: date, dtype: int64