如何从python 3中的字典值列表中删除nan值?

时间:2017-11-17 12:48:26

标签: python python-3.x pandas dictionary

您好我有一个词典列表,每个词典都有一个值列表。在该列表中,我希望删除nan个值。这是一个示例字典;

temp = {'A': ['field1', 'field2', 'field3', np.nan, np.nan], 'B': ['field1', 'field2', 'field3', 'field4', np.nan]}

看起来像;

{'A': ['field1', 'field2', 'field3', nan, nan], 'B': ['field1', 'field2', 'field3', 'field4', nan]}

我希望输出是:

{'A': ['field1', 'field2', 'field3'], 'B': ['field1', 'field2', 'field3', 'field4']}

我已经厌倦了以下但没有成功;

res = {k:v for k,v in temp2.items() if v is not np.nan}

感谢任何帮助

1 个答案:

答案 0 :(得分:4)

您正在将整个值(在您的情况下为v)与np.nan进行比较,但只有字典值的单个元素是np.nan。 你想要:

res = {k:[elem for elem in v if elem is not np.nan] for k,v in temp.items()}