如何将 cosmos 数据的时间戳转换为 python 中的日期时间格式?

How do I convert timestamp to datetime format in python for cosmos data?

查询 cosmos db 后,我在数据框 (df) 中收到一个 ts 列,其中的日期时间格式如下

df
_ts         etag
1646255207   xyz
1646257427   abc
1646297798
1646333451   dfg

如何将其转换为日期时间格式。我想要的原因是,我只想要过去 24 小时的数据。

我试过了-

from datetime import datetime
d = "1646255207"
d = int(d[:10])
datetime.fromtimestamp(d).strftime('%Y-%m-%d %I:%M:%S %p')
Out[39]: '2022-03-02 04:06:47 PM'

有没有更好的方法来向 _ts 添加过滤器并从 _ts 本身获取最近 24 小时的数据?

pd.to_datetimeunit="s"一起使用:

df["Date"] = pd.to_datetime(df["_ts"], unit="s")
print(df)

打印:

          _ts  etag                Date
0  1646255207   xyz 2022-03-02 21:06:47
1  1646257427   abc 2022-03-02 21:43:47
2  1646297798  None 2022-03-03 08:56:38
3  1646333451   dfg 2022-03-03 18:50:51

并获取最近 24 小时的数据:

print(df[df["Date"] > df["Date"].max() - pd.Timedelta(hours=24)])