【发布时间】:2022-01-23 06:43:34
【问题描述】:
我通过运行一些分析创建了以下代码,并将结果放入 defaultdict(list) 中。之后,我将结果放入 csv 文件中。首先,我想删除 Check2
中包含“nan”值的项目如何删除字典列表中的值?
from numpy import nan
from collections import defaultdict
d = defaultdict(list,
{'Address_1': [{'Name': 'name',
'Address_match': 'address_match_1',
'ID': 'id',
'Type': 'abc',
'Check1' : 8,
'Check2' : 1},
{'Name': 'name',
'Address_match': 'address_match_2',
'ID': 'id',
'Type': 'abc',
'Check1' : 20,
'Check2' : nan},
{'Name': 'name',
'Address_match': 'address_match_3',
'ID': 'id',
'Type': 'abc',
'Check1' : 27,
'Check2' : nan}],
'Address_2': [{'Name': 'name',
'Address_match': 'address_match_1',
'ID': 'id',
'Type': 'abc',
'Check1' : 30,
'Check2' : 1},
{'Name': 'name',
'Address_match': 'address_match_2',
'ID': 'id',
'Type': 'abc',
'Check1' : 38,
'Check2' : nan},
{'Name': 'name',
'Address_match': 'address_match_3',
'ID': 'id',
'Type': 'abc',
'Check1' : 12,
'Check2' : nan}]})
之后我的结果应该是:
d = defaultdict(list,
{'Address_1': [{'Name': 'name',
'Address_match': 'address_match_1',
'ID': 'id',
'Type': 'abc',
'Check1' : 8,
'Check2' : 1}],
'Address_2': [{'Name': 'name',
'Address_match': 'address_match_1',
'ID': 'id',
'Type': 'abc',
'Check1' : 30,
'Check2' : 1}
]})
【问题讨论】:
-
nan来自哪里?需要导入吗? -
nan是 repl 为float("nan")提供的内容,但我不确定这是如何影响的 -
@ShimonCohen 好点它来自数据集中的结果。我有一个算法可以捕获匹配的地址,然后其他信息也在字典中。有些地址有“Check2”值,有些则没有。
-
缺少
from numpy import nan和from collections import defaultdict以便重现。
标签: python pandas dataframe dictionary defaultdict