![](/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.