Python 将datetime64[ns]列转换为表中的DatetimeIndex

Python 将datetime64[ns]列转换为表中的DatetimeIndex,python,pandas,datetimeindex,Python,Pandas,Datetimeindex,我正在使用的一个包有一个先决条件,即数据帧的索引必须是一个DatetimeIndex。所以,我一直在尝试将数据类型为datetime64[ns]的列转换为DatetimeIndex,但没有成功。以下是我的尝试: 将熊猫作为pd导入 我的大学数据=[[1,'2019-05-01 04:00:00',[2,'2019-05-01 04:01:00',[3,'2019-05-01 04:02:00'] test=pd.DataFrame(我的_数据,列=['count','datetime'])) 打

我正在使用的一个包有一个先决条件,即数据帧的索引必须是一个DatetimeIndex。所以,我一直在尝试将数据类型为datetime64[ns]的列转换为DatetimeIndex,但没有成功。以下是我的尝试:

将熊猫作为pd导入
我的大学数据=[[1,'2019-05-01 04:00:00',[2,'2019-05-01 04:01:00',[3,'2019-05-01 04:02:00']
test=pd.DataFrame(我的_数据,列=['count','datetime']))
打印(test.dtypes.value\u counts())
#尝试使用pd.DateTimeIndex
测试['datetime']=pd.DatetimeIndex(测试['datetime'])
打印(test.dtypes.value\u counts())
如果isinstance(测试['datetime'],pd.DatetimeIndex):
打印(‘成功’)
#尝试在没有格式字符串的情况下使用pd.to_datetime
test['datetime']=pd.to_datetime(test['datetime'])
打印(test.dtypes.value\u counts())
如果isinstance(测试['datetime'],pd.DatetimeIndex):
打印(‘成功’)
#尝试将pd.to_datetime与格式字符串一起使用
test['datetime']=pd.to_datetime(test['datetime'],格式=“%Y-%m-%d%h:%m:%s”)
打印(test.dtypes.value\u counts())
如果isinstance(测试['datetime'],pd.DatetimeIndex):
打印(‘成功’)

我使用的是pandas的最新版本-0.25.3,我使用的是python3.7。任何有建设性的建议都将不胜感激

您可以将索引强制转换为
datetime
。在列上使用
set\u index
,然后键入

将熊猫作为pd导入
​
我的大学数据=[[1,'2019-05-01 04:00:00',[2,'2019-05-01 04:01:00',[3,'2019-05-01 04:02:00']
test=pd.DataFrame(我的_数据,列=['count','datetime']))
test.set_index('datetime').index.astype('datetime64[ns]'))
日期时间索引(['2019-05-01 04:00:00','2019-05-01 04:01:00',
'2019-05-01 04:02:00'],
dtype='datetime64[ns]',name='datetime',freq=None)

您可以将索引强制转换为日期时间。在列上使用
set\u index
,然后键入

将熊猫作为pd导入
​
我的大学数据=[[1,'2019-05-01 04:00:00',[2,'2019-05-01 04:01:00',[3,'2019-05-01 04:02:00']
test=pd.DataFrame(我的_数据,列=['count','datetime']))
test.set_index('datetime').index.astype('datetime64[ns]'))
日期时间索引(['2019-05-01 04:00:00','2019-05-01 04:01:00',
'2019-05-01 04:02:00'],
dtype='datetime64[ns]',name='datetime',freq=None)

我注意到了这一点,代码运行时,我注意到日期格式不正确。你也注意到了吗<代码>python将熊猫作为pd从pecos导入。监控导入性能监控my_数据=[[1,'2019-05-01 04:00:00'],[2,'2019-05-01 04:01:00'],[3,'2019-05-01 04:02:00']]test=pd.DataFrame(my_数据,列=['count',datetime'])test.set_index('datetime').index.astype('datetime64[ns]'))test.index=pd.DatetimeIndex(test.index.values,dtype='datetime64[ns]',name='datetime',freq=None)注释中的代码可能正常工作。默认情况下,使用
set_index
不会设置现有
test
数据帧的索引。您需要实际设置它或使用
inplace=True
。您的代码基本上是在转换
[0,1,2]
导入日期时间。我注意到,在代码运行时,我注意到日期格式不正确。您也注意到了吗?
python从pecos以pd形式导入熊猫。监控导入性能监控我的_数据=[[1,'2019-05-01 04:00:00',[2,'2019-05-01 04:01:00',[3,'2019-05-01 04:00']test=pd.DataFrame(my_data,columns=['count','datetime'])test.set_index('datetime').index.astype('datetime64[ns]')test.index=pd.DatetimeIndex(test.index.values,dtype='datetime64[ns]',name='datetime',freq=None)
注释中的代码可能正常工作。默认情况下,使用
set_index
不会设置现有
test
数据帧的索引。您需要实际设置它或使用
inplace=True
。您的代码本质上是将
[0,1,2]
转换为日期时间。