通过日期列过滤pandas中的数据帧

时间:2017-08-10 12:16:52

标签: python pandas data-science

数据位于以下链接:http://www.fdic.gov/bank/individual/failed/banklist.html

我只想要在2017年关闭的银行。我怎么能在熊猫中做到这一点?

failed_banks= pd.read_html('http://www.fdic.gov/bank/individual/failed/banklist.html')
failed_banks[0]

在这些代码行之后我应该怎么做以提取所需的结果?

2 个答案:

答案 0 :(得分:0)

理想情况下,您会使用

# assuming pandas successfully parsed this column as datetime object
# and pandas version >= 0.16
failed_banks= pd.read_html('http://www.fdic.gov/bank/individual/failed/banklist.html')[0]
failed_banks = failed_banks[failed_banks['Closing Date'].dt.year == 2017]

但是大熊猫没有正确地将Closing Date解析为日期对象,所以我们需要自己解析它:

failed_banks = pd.read_html('http://www.fdic.gov/bank/individual/failed/banklist.html')[0]

def parse_date_strings(date_str):
    return int(date_str.split(', ')[-1]) == 2017

failed_banks = failed_banks[failed_banks['Closing Date'].apply(parse_date_strings)]

答案 1 :(得分:0)

这样的事情应该有效

提取结束年份。

# using pd.to_datetime
closing_year = pd.to_datetime(failed_banks[0]['Updated Date']).apply(lambda x: x.year)
# or by splitting the line
closing_year = failed_banks[0]['Updated Date'].apply(lambda x: x.split(', ')[1])

然后选择。

failed_banks[0][closing_year=='2017']