如何在Pandas DataFrame中将时间戳转换为yyyy-mm-dd HH格式
解决方法
你原来用freq='T'是指定分钟级周期,所以结果会带分钟,改成小时级频率'H'就能得到你要的格式,这里给两种靠谱的实现方式:
方法一:周期转换(可保留时区周期类型,按需转字符串)
直接把时间戳转成小时周期,再转成字符串:
df['hour_col'] = df['Time'].dt.to_period('H').astype(str)
比如你的示例时间2020-06-01 04:26:00-05:00,处理后会得到2020-06-01 04。
方法二:直接格式化字符串(生成纯文本格式)
用dt.strftime指定输出格式,直接生成目标字符串:
df['hour_col'] = df['Time'].dt.strftime('%Y-%m-%d %H')
这个方法更直接,输出就是你要的yyyy-mm-dd HH文本格式。
补充说明
- 你原来的代码操作了索引,其实不需要修改索引,直接生成新列即可
- 两种方法都支持带时区的时间戳,不会因时区导致时间显示错误
内容的提问来源于stack exchange,提问作者Farid
相关产品推荐
相关产品推荐

