Python 在“我的时间”列中,datetime最多只有几分钟

Python 在“我的时间”列中,datetime最多只有几分钟,python,pandas,datetime,Python,Pandas,Datetime,我从我们的服务器中提取信息,时间列一直到纳秒。我需要合并多个dfs,这种特殊性导致我的脚本返回一个空df 我尝试使用: df['Time'] = pd.to_datetime(df['Time'], format="%d-%m-%y %H:%M") 但我不相信我试图做的是通过“格式”参数来完成的 我打算将时间列转换为字符串,然后解析为正确的字符数,但我确实希望避免转换为字符串,然后返回到datetime 我想用to_datetime()来做什么?或者我必须转换成字符串,解析并转换回dateti

我从我们的服务器中提取信息,时间列一直到纳秒。我需要合并多个dfs,这种特殊性导致我的脚本返回一个空df

我尝试使用:

df['Time'] = pd.to_datetime(df['Time'], format="%d-%m-%y %H:%M")
但我不相信我试图做的是通过“格式”参数来完成的

我打算将时间列转换为字符串,然后解析为正确的字符数,但我确实希望避免转换为字符串,然后返回到datetime

我想用to_datetime()来做什么?或者我必须转换成字符串,解析并转换回datetime吗?

您可以在时间戳上使用round()方法将列转换为您想要的分辨率

比如说

import pandas as pd
import datetime
pd.to_datetime(datetime.datetime.now()).round('H')
返回

Timestamp('2019-12-11 22:00:00')
因为它将当前时间(纳秒频率)转换为最接近的小时。

您可以尝试以下方法:

df = df.assign(Time=df.loc[:, 'Time'].apply(lambda x: datetime.strptime(x, "%d-%m-%y %H:%M")))
根据时间列的当前值和格式,将第一个数据帧替换为具有日期时间值的df['Time']的数据帧