使用Pandas设置正确日期时间格式失败,求解决方案
解决Pandas日期时间格式转换失效的问题
我看到你在把字符串转成Pandas datetime索引时遇到了问题,咱们来一步步排查和解决:
问题1:年份格式符使用错误
你代码里用了%y,但这个格式符对应两位年份(比如14代表2014),而你的日期字符串是01/10/2014 00:03:20,是四位年份,应该用%Y(大写Y)来匹配。
问题2:索引赋值时引用错了列
你创建DataFrame时,把日期存在了名为index的列里,但之后你直接用df.index去转datetime——这其实是在处理Pandas默认的整数索引(比如0),根本没用到你定义的日期数据。
修正后的代码
import pandas as pd date = ['01/10/2014 00:03:20'] value = [33.24] df = pd.DataFrame({'value': value, 'datetime_col': date}) # 把列名改成更清晰的名字,避免和index混淆 df.index = pd.to_datetime(df['datetime_col'], format='%d/%m/%Y %H:%M:%S') # 引用正确的列,用%Y匹配四位年份 # 验证结果 print(df.index)
额外建议
如果你的日期格式比较标准,其实可以省略format参数,让Pandas自动推断格式,但明确指定format会让转换更高效,尤其是处理大数据集的时候。
内容的提问来源于stack exchange,提问作者Peslier53
相关产品推荐
相关产品推荐

