无法从pandas转换。\u libs.tslibs.timestamps.Timestamp到datetime.datetime

2024-05-01 22:29:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将熊猫转换为datetime.DateStamps.timestamps,但更改未保存

类型(df_unix.loc[45,'lastloginandate'])

OUTPUT: pandas._libs.tslibs.timestamps.Timestamp

键入(df_unix.loc[45,'lastloginandate'].to_pydatetime())

OUTPUT: datetime.datetime

df_unix.loc[45,'LastLoginDate']=df_unix.loc[i,'LastLoginDate'].to_pydatetime()

类型(df_unix.loc[45,'lastloginandate'])

OUTPUT: pandas._libs.tslibs.timestamps.Timestamp

Tags: to类型pandasdfoutputdatetimeunixloc
2条回答

df_unix.loc[45,'LastLoginDate']返回标量值。pandas使用Timestamp作为标量值,因此类型是正确的

运行df_unix.info()。您应该看到列类型仍然是datetime64[ns]

您还使用用于返回本机Python datetime对象的to_pydatetime在位置45处指定了一个值。如果这改变了整个列的类型,这将是一个有趣的结果

假设您有以下日期:

some_date = pd.Timestamp("1970-01-01")
print(some_date)
Output: Timestamp('1970-01-01 00:00:00')

要将其转换为datetime,只需执行以下操作:

some_date.to_pydatetime()

您将获得:

output: datetime.datetime(1970, 1, 1, 0, 0)

无法使用datetime.datetime(some_date),因为datetime.datetime类的构造函数接受3个整数:

一年一个月一天

相关问题 更多 >