2017-08-10 21 views

回答

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为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)] 
+0

感谢您的即时回复!但我不认为它在这里将它解析为日期时间对象。我应该使用正则表达式吗? –

+0

它输出以下错误---'AttributeError:只能使用.dt访问器与datetimelike值' –

+0

@SmithThapa请参阅我的答案中的内嵌评论。显然,Pandas没有解析“Closing Date”列作为日期,您需要将它转换为日期,然后使用我的答案,或者自己分析日期字符串。 – DeepSpace

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'] 
+0

DeepSpace的解决方案为我工作。你的解决方案非常相似。感谢你的帮助。谢谢 :) –