查询 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_datetime
与unit="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)])
关于python - 如何在 python 中将宇宙数据的时间戳转换为日期时间格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71942731/