如何从两个日期之间的熊猫数据框中提取数据?

时间:2019-07-25 06:02:17

标签: python-3.x pandas datetime

Initial "ImportDate" datatype Initial Pandas Dataframe interested in "ImportDate

问题陈述-

我想提取“ ImportDate”持续到“ 1-1-2019”的数据。例如-start_date至1-1-2019。我尝试将“对象”转换为“ datetime64 [ns]”,并将代码写为

df[df['ImportDate'].between(4/26/2018, 1/1/2019)]

但是在提取数据时导致错误:

"'>=' not supported between instances of 'str' and 'float"

有人可以帮助我处理我的问题陈述吗?

2 个答案:

答案 0 :(得分:0)

您说的那列是日期时间,实际上是日期时间吗?来自您发布的错误,看起来好像不是。请使用df.dtypes再次检查。如果它不是日期时间对象,则将其转换为日期时间,例如使用df['ImportDate']= pd.to_datetime(df['ImportDate'],format='%d/%m/%y')(您必须调整参数以适合您的数据)。然后,您可以df[df['ImportDate'].between(start_date,end_date)]

答案 1 :(得分:0)

我的猜测是您在between函数中输入的不是日期。您应该尝试将它们转换:

df[df['ImportDate'].between(pd.to_datetime("4/26/2018"), pd.to_datetime("1/1/2019"))]

或直接创建日期对象:datetime.date(2019,1,1)(不要忘记import datetime)。

如前所述,检查是否可以提供数据会更容易。