Python 过滤条件不工作

Python 过滤条件不工作,python,pandas,Python,Pandas,我有一个数据框,其中有一些记录。我通过了一个过滤条件,但没有给出正确的结果。你能帮我解决这个问题吗 例如: df: 我通过了下面给出的过滤条件: df1 = df.query("programdate > '3/3/2020'") 它正在打印所有的记录。它应该只打印过滤过的记录。你能帮我吗?你可以这样做: df1 = df[df.programdate > '3/3/2020'] 确保“programdate”是一个日期时间戳,df.query()代码适合我。

我有一个数据框,其中有一些记录。我通过了一个过滤条件,但没有给出正确的结果。你能帮我解决这个问题吗

例如:

df:

我通过了下面给出的过滤条件:

df1 = df.query("programdate > '3/3/2020'")
它正在打印所有的记录。它应该只打印过滤过的记录。你能帮我吗?

你可以这样做:

df1 = df[df.programdate > '3/3/2020']

确保“programdate”是一个日期时间戳,
df.query()
代码适合我。每个列的数据类型是什么?

首先,您需要检查该列的数据类型,以便运行:

df.dtype
它将输出结果:“object”

现在,您想要更改“programdate”列的数据类型,您可以通过运行以下命令来完成此操作:

df["programdate"] = pd.to_datetime(df["programdate"])
df.query("programdate > '3/3/2020'")
现在它位于日期时间中,您可以通过运行以下命令筛选日期:

df["programdate"] = pd.to_datetime(df["programdate"])
df.query("programdate > '3/3/2020'")

同样的问题…请提供一个解决方案。你做过调试吗?没有得到结果。我只需要使用df.query().dtype=str。我已经给出了这一点,如果你过滤日期,但是它们有一个字符串数据类型,你就不会得到你想要的答案。正如@Jorge所说,您需要的数据应该是datatime格式。您可以按如下方式执行:
df['programdate']=pd.to_datetime(df['programdate])
。然后,当您运行查询
df.query(“programdate>'3/3/2020'”)
时,您将得到预期的数据。现在我得到了预期的结果。谢谢你的建议。