在Pandas中将DatetimeIndex转换为datetime.date?

2024-09-27 19:19:32 发布

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

我试图从pandas中的一列减去to days date,得到天数(整数)。

我首先使用pd.to_datetime转换了列中的日期(例如:2018年9月27日)。

df['Date'] - datetime.datetime.now().date()

我得到以下错误:

类型错误:不支持的操作数类型-:“DatetimeIndex”和“datetime.date”

我想知道如何让它工作,同时把天数转换成整数?

短暂性脑缺血发作


Tags: to类型pandasdfdatetimedate错误整数
3条回答

让我们使用熊猫Timestamp.now()

s = pd.Series('27-Sep-2018')

s = pd.to_datetime(s)

(s - pd.Timestamp.now()).dt.days

输出:

0     15
dtype: int64

注意:错误说明不能从对象“datetime.date”中减去对象类型DatetimeIndex。因此,使用pandas Timestamp创建与DateTimeIndex相同的对象类型。

我认为问题可能是因为您从日期对象(不包括时间)中减去了pandas date time对象。你可以试试这个:

df['Date_2'] = pd.to_datetime(df['Date']).dt.date

现在进行计算:df['Date_2'] - datetime.datetime.now().date()应该可以工作。

尝试使用datetime.strTime()函数来转换它。

在您的前任中,'2018年9月27日'

from datetime import datetime
ex='27-Sep-2018'
date = datetime.strptime(ex, '%d-%b-%Y')

然后:

date.days 

将存储结果(类型-int)

相关问题 更多 >

    热门问题