Python 将包含毫秒的特殊时间戳转换为历元

Python 将包含毫秒的特殊时间戳转换为历元,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有以下格式的时间戳: Feb 21 15:46:23.997 我正在尝试将其转换为历元时间戳。小数点后的最后三位是ms,不希望在转换过程中丢失这些数字。这里的问题是时间戳不是通用格式,因此在转换时会遇到一些问题 您可以指定自定义格式。您的日期字符串没有年份,因此to_datetime将默认为1900,您必须手动更正: pd.to_datetime('Feb 21 15:46:23.997', format='%b %d %H:%M:%S.%f') \ .replace(year=20

我有以下格式的时间戳:

Feb 21 15:46:23.997

我正在尝试将其转换为历元时间戳。小数点后的最后三位是ms,不希望在转换过程中丢失这些数字。这里的问题是时间戳不是通用格式,因此在转换时会遇到一些问题

您可以指定自定义格式。您的日期字符串没有年份,因此
to_datetime
将默认为1900,您必须手动更正:

pd.to_datetime('Feb 21 15:46:23.997', format='%b %d %H:%M:%S.%f') \
    .replace(year=2020) \
    .timestamp()
结果:

1582299983.997

可以指定自定义格式。您的日期字符串没有年份,因此
to_datetime
将默认为1900,您必须手动更正:

pd.to_datetime('Feb 21 15:46:23.997', format='%b %d %H:%M:%S.%f') \
    .replace(year=2020) \
    .timestamp()
结果:

1582299983.997

我是否必须运行循环来更改dataframe列中的所有日期(我有300万行),或者是否有一个内置函数来获取整个列并更改格式?否。您也可以在列表、序列或dataframe列上调用
pd.to_datetime
。该函数是矢量化的。谢谢。运行以下命令后,我看到一个问题:df_delta[“Converted”]=pd.to_datetime(df_delta[“Time”],格式=“%b%d%H:%M:%S.%f”)它抛出了以下错误:ValueError:未转换的数据仍然存在:我可以将年份更改为1900,因为我只需要执行增量时间-因此我删除了替换部分我是否必须运行循环来更改dataframe列中的所有日期(我有300万行),或者是否有一个内置的函数,它接受整个列并更改格式?否。您可以调用
pd.to_datetime
对列表、序列或数据帧列进行处理。该函数是矢量化的。谢谢。在运行以下命令后,我看到一个问题:df_delta[“Converted”]=pd.to_datetime(df_delta[“Time”],格式=“%b%d%H:%M:%S.%f”),它抛出了以下错误:ValueError:未转换的数据仍然存在:我可以将年份更改为1900,因为我仍然要执行delta Time-因此我删除了替换部分