def fn_filter_words_in_column(df, col_to_search, search_words, any_words=True):
    """Filter for any (default) or all words in a dataframe column. Case insensitive.
    df: dataframe to search
    col_to_search: column name to search as a str
    search_words: list of search words
    any_words: Default True to search for any word. False will search to match all words.
    """
    if any_words == True:
        df_f = df.loc[df[col_to_search].str.lower().apply(
                lambda x: any(word.lower() in x for word in search_words))]
    else: 
        df_f = df.loc[df[col_to_search].str.lower().apply(
                lambda x: all(word.lower() in x for word in search_words))]
    return df_f