从 Pandas 数据框中的列表中删除 NaN

Remove NaN from lists in Pandas dataframe

我有一个数据框,其值是包含 'nan' 的列表。有没有一种简单的 pythonic 方法可以从数据框中的列表中删除那些 'nan' 值?我已经定义了一个函数,其中 returns 一个没有 'nan' 的列表,但是我如何将它应用到数据框就地?

def remove_nan(input_list):
    temp_list = [x for x in input_list if x!='nan']
    return temp_list

test = ['nan', 'nan', 'SHM System', 'nan', 'nan', 'nan']

remove_nan(test)
['SHM System']

此函数适用于单个列表和 returns 干净列表,如上面的输出所示。我如何应用此函数,或者如果有更好的方法,从 dataframe 中的列表中删除所有 'nan' 值?我已经尝试过 applymap 和 apply 但没有用。

df_combined.applymap(remove_nan)

以下代码行对我有用。感谢@piRSquared。

df.applymap(lambda x: [*filter(pd.notna, x)])