2024-09-27 19:19:32 发布
网友
我试图从pandas中的一列减去to days date,得到天数(整数)。
我首先使用pd.to_datetime转换了列中的日期(例如:2018年9月27日)。
pd.to_datetime
df['Date'] - datetime.datetime.now().date()
我得到以下错误:
类型错误:不支持的操作数类型-:“DatetimeIndex”和“datetime.date”
我想知道如何让它工作,同时把天数转换成整数?
短暂性脑缺血发作
让我们使用熊猫Timestamp.now():
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()应该可以工作。
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)
让我们使用熊猫
Timestamp.now()
:输出:
注意:错误说明不能从对象“datetime.date”中减去对象类型DatetimeIndex。因此,使用pandas Timestamp创建与DateTimeIndex相同的对象类型。
我认为问题可能是因为您从日期对象(不包括时间)中减去了pandas date time对象。你可以试试这个:
现在进行计算:
df['Date_2'] - datetime.datetime.now().date()
应该可以工作。尝试使用datetime.strTime()函数来转换它。
在您的前任中,'2018年9月27日'
然后:
将存储结果(类型-int)
相关问题 更多 >
编程相关推荐