我使用一列datetime对象创建了一个数据框,对其进行了重新采样,但现在想将数据框转换为列表列表 - 其中日期时间现在又是字符串。
for i in range(1, len(dataf.index)):
dataf["Time Stamp"][i] = datetime.strftime(dataf["Time Stamp"][i], '%m-%d-%Y %H:%M:%S')
print(dataf["Time Stamp"][i])
我一直收到错误 (注意打印部分仅供我检查输出)
ValueError: Error parsing datetime string "09-11-2017 00:02:00" at position 8
但据我所知,我的日期格式完全相同。我甚至尝试过'%m-%d-%Y%H:%M:%S'的不同资本化无济于事。
有什么想法吗?
答案 0 :(得分:1)
你应该能够
dataf['Time Stamp'].dt.strftime('%m-%d-%Y %H:%M:%S')
所以重写专栏
dataf['Time Stamp'] = dataf['Time Stamp'].dt.strftime('%m-%d-%Y %H:%M:%S')
如果您有错误,可能是因为该列实际上不是日期时间。
dataf['Time Stamp'] = pd.to_datetime(
dataf['Time Stamp']
).dt.strftime('%m-%d-%Y %H:%M:%S')
如果您有不可解析的数据
dataf['Time Stamp'] = pd.to_datetime(
dataf['Time Stamp'], errors='coerce'
).dt.strftime('%m-%d-%Y %H:%M:%S')