我正在使用COVID19数据并有一个日期列。它最初是 Int64,所以我使用以下函数将其更改为日期时间对象:
us['date'] = pd.to_datetime(us['date'], format='%Y%m%d', errors='ignore')
us['date'] = us['date'].dt.strftime("%m/%d")
当我打印出结果时,我看到列中的所有数据都是"1/1、1/4、2/1 ....",等等。(此处没有空值)我正在尝试按月使用group,所以我尝试使用另一个函数来仅获得月份,如下所示:
us['date'].dt.strftime("%m")
但是我收到错误:
AttributeError: Can only use .dt accessor with datetimelike values
我不明白,因为我使用 pd_datetime 将数据类型更改为日期时间,那么此列是否应该已经是日期时间,而不是对象?当我检查数据类型时,它显示"O"。为什么会这样?
当我们忽略时,如果任何项目无法更改,它将ignore
整个列,我们应该做coerce
us['date'] = pd.to_datetime(us['date'], format='%Y%m%d', errors='coerce')
us['date'].dt.strftime('%B')
让我们试试这个:
us['monthanddate'] = us['date'].dt.strftime("%m/%d")
仅一个月
us['monthonly'] = us['date'].dt.strftime("%m")