在Pandas中将Unix时间戳转换为datetime格式的技术求助
把Unix时间戳转换为datetime格式的解决方案
嘿,这个问题很好搞定!你手里的这些浮点数是秒级的Unix时间戳,用pandas自带的pd.to_datetime()函数就能轻松转换成标准的datetime格式,我给你调整一下代码:
import pandas as pd df = pd.read_excel("Live_data_test.xlsx","Sheet1") # 替换成更简洁的方式获取最后3行的Time列 unix_x1 = df['Time'].tail(3) # 转换为datetime格式,unit='s'明确指定是秒级时间戳(默认也是秒,加上更清晰) datetime_x1 = pd.to_datetime(unix_x1, unit='s') print(datetime_x1)
小细节说明:
- 我把你原来的索引计算换成了
tail(3),直接获取DataFrame最后3行的Time列,功能和你原来的代码完全一致,但可读性高多了~ pd.to_datetime()会自动把每个时间戳转换成datetime64[ns]类型的对象,方便后续的时间处理操作。
转换后的示例输出:
针对你给出的时间戳1.513753e+09,运行代码后会得到类似这样的结果:
10 2017-12-20 00:00:00 11 2017-12-20 00:00:00 12 2017-12-20 00:00:00 Name: Time, dtype: datetime64[ns]
如果之后你需要把datetime格式转成自定义的字符串样式(比如YYYY-MM-DD HH:MM:SS),可以再加一步dt.strftime():
# 转换成指定格式的字符串 formatted_dates = datetime_x1.dt.strftime('%Y-%m-%d %H:%M:%S') print(formatted_dates)
这样就能得到完全符合你需求的日期时间格式啦!
内容的提问来源于stack exchange,提问作者smashed__
相关产品推荐
相关产品推荐

