![](/img/trans.png)
[英]using df.apply and str.contains('value', case =False)
[英]Using .str.contains to filter a df of FRED series
我正在嘗試從 FRED api 下載每個 state 的數據系列。我已將包含“房屋庫存:活動列表狀態”的所有數據系列加載到 df 中,但是仍然有超過 1000 行。 有沒有辦法可以搜索每個系列的標題,看看它是否包含 state 的名稱?
我努力了
df=df.loc[df['title'].str.contains(["Alaska","Alabama",...,"Wyoming"])]
系列 ID = ACTLISCOU
假設您有一個包含所有狀態的列表,您可以定義一個自定義 function 來過濾您的title
列並使用它調用pd.Series.apply
:
state_list = ["Alaska","Alabama",...,"Wyoming"]
def my_filter(value):
# return True if any state is in the value
return any(state in value for state in state_list)
# Call apply to filter DF based on True|False by your filter
df_filtered = df[df['title'].apply(my_filter)]
以下代碼返回 ACTLISCOUXX 數據集中包含的國家/地區,在本例中為加利福尼亞州:
df = pd.read_csv('ACTLISCOUCA.csv',sep=';',header=None)
us_country_list=["Arizona","California","Oregon"]
country=[i for i in us_country_list if i in df.dropna().iloc[0][1]][0]
print(country)
怎么運行的
country
變量中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.