在熊猫数据框中找到日期

时间:2018-12-12 12:16:12

标签: python pandas datetime dataframe

我正在尝试使用df.loc函数在DataFrame的列中定位特定日期,但突然我开始收到KeyError。这种方法一直对我有用,但是不知何故,它会针对此特定问题引发KeyError。

我有以下代码:

import pandas as pd
from datetime import timedelta
import datetime
from datetime import datetime as dt


x = pd.read_csv('x_data.csv')

# x
#   type      date   color
# 0    A  10/16/18  orange
# 1    B  10/15/18     red
# 2    C  10/12/18    blue


x['date'] = x['date'].apply(lambda xl: datetime.datetime.strptime(xl, '%m/%d/%y'))
x['date'] = x['date'].apply(lambda xl: datetime.datetime.strftime(xl, '%Y-%m-%d'))
d = '2018-10-15'

# x
#   type        date   color
# 0    A  2018-10-16  orange
# 1    B  2018-10-15     red
# 2    C  2018-10-12    blue

然后我尝试使用df.loc通过以下行在d列中找到date

x = x.loc[x['date']] == d

哪个返回错误:

KeyError: 'None of [0    2018-10-16\n1    2018-10-15\n2    2018-10-12\nName: date, dtype: object] are in the [index]'

我无法弄清楚这个问题,因为我对于各种数据集使用这种方法已有一段时间了,直到现在为止还从未遇到过问题。 谢谢您的帮助。

0 个答案:

没有答案