Python 大熊猫时间序列预测中的日期时间问题
试图用python实现时间序列预测模型,但面临日期时间数据的问题 因此,我有一个数据帧'df',有两列datetime和float类型: 然后我尝试使用values方法构建一个数组。但是smth奇怪发生了,它以奇怪的格式显示日期,带有时间戳和时间: 基本上因为它,我不能实现接收以下消息的模型,例如:“不能在没有freq的情况下向Timestamp添加整数值。”Python 大熊猫时间序列预测中的日期时间问题,python,pandas,datetime,time,Python,Pandas,Datetime,Time,试图用python实现时间序列预测模型,但面临日期时间数据的问题 因此,我有一个数据帧'df',有两列datetime和float类型: 然后我尝试使用values方法构建一个数组。但是smth奇怪发生了,它以奇怪的格式显示日期,带有时间戳和时间: 基本上因为它,我不能实现接收以下消息的模型,例如:“不能在没有freq的情况下向Timestamp添加整数值。” 那么问题是什么?如何解决呢?您可以将整数转换为时间增量,然后像以前一样进行计算: from datetime import time
那么问题是什么?如何解决呢?您可以将整数转换为
时间增量
,然后像以前一样进行计算:
from datetime import timedelta
interval = timedelta(days = 5)
#5 days later
time_stamp += interval
这很复杂
首先,在创建numpy
数组时,所有类型都是相同的。但是,datetime64
与int
不同。所以我们必须解决这个问题,我们会的
其次,您尝试使用df.values
来执行此操作。然而,有意义的是,pandas
将整个df
放入dtype=object
然后放入对象
数组。问题是,时间戳
被保留为时间戳
,这会妨碍您的工作
所以我会自己把它们变成这样
a = np.column_stack([df[c].values.astype(int) for c in ['transaction_date', 'amount']])
a
array([[1454284800000000000, 1],
[1454371200000000000, 2],
[1454457600000000000, 3],
[1454544000000000000, 4],
[1454630400000000000, 5]])
a[:, 0].astype(df.transaction_date.values.dtype)
array(['2016-02-01T00:00:00.000000000', '2016-02-02T00:00:00.000000000',
'2016-02-03T00:00:00.000000000', '2016-02-04T00:00:00.000000000',
'2016-02-05T00:00:00.000000000'], dtype='datetime64[ns]')
我们总是可以像这样转换背面的第一列
a = np.column_stack([df[c].values.astype(int) for c in ['transaction_date', 'amount']])
a
array([[1454284800000000000, 1],
[1454371200000000000, 2],
[1454457600000000000, 3],
[1454544000000000000, 4],
[1454630400000000000, 5]])
a[:, 0].astype(df.transaction_date.values.dtype)
array(['2016-02-01T00:00:00.000000000', '2016-02-02T00:00:00.000000000',
'2016-02-03T00:00:00.000000000', '2016-02-04T00:00:00.000000000',
'2016-02-05T00:00:00.000000000'], dtype='datetime64[ns]')
请提供真实数据。照片没用