Pandas,TypeError:需要整数(get type str)

2024-09-28 03:17:41 发布

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

我正在尝试筛选我的专栏新日期。在

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)

任何帮助都将不胜感激。在


Tags: annewinputdatetimedateis格式required
2条回答

如果我理解正确,您可以尝试:

filterdate = input("Input Date in format ((Year-Month-Day): ")
d1[(d1['Date'] > filterdate) & (d1['Date'] != 'NaT')]

输入“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

相关问题 更多 >

    热门问题