如何在Python中过滤带有其他日期的日期数据框?

时间:2018-10-31 11:12:15

标签: python pandas date dataframe filtering

我在熊猫中用Python完成了这个数据框:

        0
0   2018-06-29
1   2018-10-29
2   2019-02-28
3   2019-06-29
4   2019-10-29
5   2020-02-29
6   2020-06-29
7   2020-10-29
8   2021-02-28

然后我有一个下一个约会:

[datetime.date(2020, 2, 29)]

我想过滤数据框以获取仅等于我拥有的日期的日期。我用loc []尝试了一下,但是得到了下一个输出:

Seleccion = df.loc[df[0] < date]
Arrays were different lengths: 9 vs 1

我不知道是否有办法做到这一点,但是如果有的话,任何帮助都是完美的。 谢谢您抽出宝贵的时间。

1 个答案:

答案 0 :(得分:1)

您的示例中“日期”的值是什么? 如果是

date = [datetime.date(2020, 2, 29)]

这是正常的,因为将序列与数组进行比较会发生错误。

你想做的是

date = datetime.date(2020, 2, 29)
df[df[0] < date]

因为现在您正在将一个系列与一个常数进行比较,而pandas可以将其转换为该系列的逐行比较。

在将Series与数组进行比较(即使它只有一个元素)之前,要使该数组起作用,数组必须具有与Series相同的长度。