2017-08-10 46 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的解決方案爲我工作。你的解決方案非常相似。感謝你的幫助。謝謝 :) –