如何将带标识的pandas TimeStamp转换为原始日期加标识字符串格式
问题原因
你使用的strftime格式参数%X会输出完整的时分秒(HH:MM:SS),不符合你只保留小时位的需求。
解决方法
单个Timestamp转换
将格式串修改为%Y-%m-%d-%H即可,%H会提取两位数字的小时值:
import pandas as pd # 模拟已转换完成的Timestamp对象 exp_id = pd.to_datetime('2021-11-23-22') result = exp_id.strftime('%Y-%m-%d-%H') print(result) # 输出结果:2021-11-23-22
DataFrame整列批量转换
如果需要处理DataFrame中的整列时间数据,调用dt.strftime方法批量处理即可:
# 假设存储该类标识的列名为exp_id df['exp_id'] = df['exp_id'].dt.strftime('%Y-%m-%d-%H')
前置规避方案
你也可以在读取JSON阶段就指定对应列的类型为字符串,避免pandas自动识别为时间类型,省去后续转换步骤:
df = pd.read_json('你的文件路径.json', dtype={'exp_id': str})
内容的提问来源于stack exchange,提问作者Adam_G
相关产品推荐
相关产品推荐

