由于Pandas和Athena读取日期时间格式的方式,我不得不操纵几列才能以有效的格式获取数据。

其中涉及将字符串转换为日期时间

df["serviceStartTimestamp"] = pd.to_datetime(df["serviceStartTimestamp"])

returning

0   2019-08-07 08:04:43.942000+00:00
1   2019-08-07 08:13:48.397000+00:00
2   2019-08-07 09:02:29.067000+00:00


然后运行这个

df["serviceStartTimestamp"] = pd.to_datetime(df["serviceStartTimestamp"].astype("str").str.split("+", expand=True)[0])

returning

0   2019-08-07 08:04:43.942
1   2019-08-07 08:13:48.397
2   2019-08-07 09:02:29.067


如果datetime列中包含任何其他数字,则它们会在雅典娜中弄乱,
但是我目前如何解决它似乎效率低下,所以我想知道是否有更好的方法?

最佳答案

您需要通过format='%Y-%m-%d %H:%M:%S.%f'

pd.to_datetime(df["serviceStartTimestamp"].dt.strftime('%Y-%m-%d %H:%M:%S.%f')


输出:

0   2019-08-07 08:04:43.942
1   2019-08-07 08:13:48.397
2   2019-08-07 09:02:29.067

关于python - 为雅典娜处理 Pandas 中的日期时间格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57925488/

10-11 08:55
查看更多