尽管确认该系列仅包含时间戳对象,但在尝试在 pandas 系列上使用 .dt 访问器时,我遇到了 AttributeError 。我将我的问题浓缩为下面的最小可重现示例(MRE):
import pandas as pd
# Sample data
data = {'DateGreffe': ['25/10/2023', '26/10/2023', '27/10/2023']}
df = pd.DataFrame(data)
# Convert "DateGreffe" to datetime
df.loc[:, "DateGreffe"] = pd.to_datetime(df["DateGreffe"], dayfirst=True)
# Check data type of "DateGreffe" column
print(df["DateGreffe"].apply(type).unique())
# Convert "DateGreffe" back to string format "DD/MM/YYYY"
df.loc[:, "DateGreffe"] = df["DateGreffe"].dt.strftime("%d/%m/%Y")
print(df)
print 语句的输出确认 DateGreffe 列仅包含 Timestamp 对象。但是,当我尝试在此列上使用 .dt.strftime 时,出现以下错误:
AttributeError:只能将 .dt 访问器与类似日期时间的值一起使用
当您在行上分配切片时,例如:
这将保留系列的原始类型(如果可能),此处为对象。
要修复此问题,请分配整列而不使用以下命令切片行
:
: