python-在pandas-df中将日期作为字符串转换为自epoch以来的ms



我的数据帧中有一些日期,如:

0          2015-02-09 12:40:59+00
1          2015-02-09 12:44:32+00
2          2015-02-09 12:43:05+00
3          2015-02-09 12:49:11+00
4          2015-02-09 12:52:49+00
...          
1923657    2021-04-08 07:45:32+00
1923658    2021-04-08 05:40:12+00
1923659    2021-04-08 08:44:08+00
1923660    2021-04-08 00:34:37+00
1923661    2021-04-08 04:53:31+00

我把它们转换成一个ms,就像:

col0='startingtimestamp'
df[col0] = df[col0].apply(lambda x: datetime.strptime(x[:19], "%Y-%m-%d %H:%M:%S").timestamp())

它是有效的,但有没有更快、更短的解决方案?

如果能给我一个提示,我将不胜感激。感谢

import pandas as pd

只需使用rstrip()方法、to_datetime()方法和total_seconds()方法:

df['col0']=df['col0'].astype(str).str.rstrip('+00')
df['col0']=pd.to_datetime(df['col0'])
df['col0']=(df['col0'] - pd.to_datetime('1970-1-1')).dt.total_seconds()

最新更新