提取DataFrame日期月份时触发AttributeError:仅能对类日期值用.dt访问器
解决AttributeError: Can only use .dt accessor with datetimelike values错误
错误原因:你的
LC4.issue_d列虽然是日期格式的字符串,但数据类型为object,而pandas的.dt访问器仅支持datetime64类型的列,直接调用就会触发该错误。解决步骤:
- 将字符串列转换为datetime类型
用pandas的pd.to_datetime()方法可自动识别常见日期格式,代码示例:
若不想修改原数据,也可生成临时datetime系列:import pandas as pd # 把原列从object类型转为datetime类型 LC4['issue_d'] = pd.to_datetime(LC4['issue_d'])datetime_series = pd.to_datetime(LC4['issue_d']) - 提取月份
转换完成后,即可正常使用.dt.month提取月份:# 用转换后的原列提取 Month = LC4['issue_d'].dt.month # 或用临时系列提取 # Month = datetime_series.dt.month print(Month)
- 将字符串列转换为datetime类型
额外优化:如果日期格式存在不统一的情况,可指定
format参数明确格式,确保转换准确,你的格式对应"%Y-%m-%d %H:%M:%S",代码:LC4['issue_d'] = pd.to_datetime(LC4['issue_d'], format="%Y-%m-%d %H:%M:%S")
内容的提问来源于stack exchange,提问作者MKT HB
相关产品推荐
相关产品推荐

