我在熊猫中用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
我不知道是否有办法做到这一点,但是如果有的话,任何帮助都是完美的。 谢谢您抽出宝贵的时间。
答案 0 :(得分:1)
您的示例中“日期”的值是什么? 如果是
date = [datetime.date(2020, 2, 29)]
这是正常的,因为将序列与数组进行比较会发生错误。
你想做的是
date = datetime.date(2020, 2, 29)
df[df[0] < date]
因为现在您正在将一个系列与一个常数进行比较,而pandas可以将其转换为该系列的逐行比较。
在将Series与数组进行比较(即使它只有一个元素)之前,要使该数组起作用,数组必须具有与Series相同的长度。