Python 如何从Datetime索引中删除尾随的零(根据需要重新格式化)?

Python 如何从Datetime索引中删除尾随的零(根据需要重新格式化)?,python,pandas,dataframe,datetime,indexing,Python,Pandas,Dataframe,Datetime,Indexing,我有一个带有datetime索引的Pandas数据帧,它在第二个之后给我9个小数点。我只需要到ms.我如何去掉多余的尾随零并取整? 提前谢谢,我试过了 all_data = pd.DataFrame(alldata) all_data['time'] = pd.to_datetime(all_data['time'],format='%YYYY-%mm-%DD; %H:%M:%S.%.4f') all_data = all_data.set_index('time') 正如耶斯雷尔所建议的那

我有一个带有datetime索引的Pandas数据帧,它在第二个之后给我9个小数点。我只需要到ms.我如何去掉多余的尾随零并取整?

提前谢谢,我试过了

all_data = pd.DataFrame(alldata)
all_data['time'] = pd.to_datetime(all_data['time'],format='%YYYY-%mm-%DD; %H:%M:%S.%.4f')
all_data = all_data.set_index('time')
正如耶斯雷尔所建议的那样:

all_data = pd.DataFrame(alldata)
all_data['time'] = pd.to_datetime(all_data['time']).dt.floor('L')
# all_data['time'] = pd.to_datetime(all_data['time'],format='%H:%M:%SS.SSSS')
all_data = all_data.set_index('time')
输出为:

我也试过:

all_data = pd.DataFrame(alldata)
all_data['time'] = pd.to_datetime(all_data['time']).dt.round('L')
# all_data['time'] = pd.to_datetime(all_data['time'],format='%H:%M:%SS.SSSS')
all_data = all_data.set_index('time')
输出是


我想去掉这些零。

一个想法是在转换为日期时间后对值进行舍入:

all_data['time'] = pd.to_datetime(all_data['time']).dt.round('L')
或者您也可以使用地板:

all_data['time'] = pd.to_datetime(all_data['time']).dt.floor('L')

圆形和地板的工作方式都相同,但零仍然存在there@Rambopartyush-您能用零将输出添加到问题中吗?不确定是否理解。@rambopartyus-output是字符串datetime?因为如果datetimes我认为它是默认显示。是的,它们是datetime64[ns]。我能改变一下格式吗?@Rambopartyus-为什么?原因是什么?