我正在尝试筛选我的专栏新日期。在
0 2019-11-20
1 2019-11-18
2 2019-11-16
3 2019-11-13
4 2019-11-11
5 2019-11-10
6 2019-11-08
7 2019-11-06
8 2019-11-02
9 2019-11-01
10 2019-10-30
11 2019-10-28
12 2019-10-26
13 2019-10-01
14 NaT
15 NaT
16 2019-10-18
17 2019-10-13
18 2019-10-10
19 2019-10-08
20 NaT
21 NaT
filterdate = datetime.date(input())
d1 = d1[(d1['New_Date'] > '{filterdate}') & (d1['New_Date'] != 'NaT')]
我以“2019-11-11”格式输入我的日期
我得到了这个TypeError: an integer is required (got type str)
任何帮助都将不胜感激。在
如果我理解正确,您可以尝试:
输入“2019-11-11”,不加引号(使用您另一篇文章的数据)
^{pr2}$代码的问题在于这行代码:
filterdate = datetime.date(input())
在日期时间.日期()函数实际上无法正确解析日期,因此给您提供了此TypeError。在
方法1
你可以试试这个:
date = str(input()) year, month, day = map(int, date.split('-')) filterdate = datetime.date(year, month, day)
然后你可以这样比较:
d1 = d1[(d1['New_Date'] > filterdate) & (d1['New_Date'] != 'NaT')]
方法2
解决此问题的另一种方法是使用datetime.date.fromisoformat()功能。在
filterdate = datetime.date.fromisoformat(input())
然后
d1 = d1[(d1['New_Date'] > filterdate) & (d1['New_Date'] != 'NaT')]
有关datetime的更多详细信息可以在这里找到:https://docs.python.org/3/library/datetime.html
相关问题 更多 >
编程相关推荐