用 0 替换映射字典中的空项
Replacing empty items in a mapped dictionary with 0's
我正在尝试清理一些似乎具有空值或 null 值的映射 dictionaries/objects。这是一个例子:
miles_map['California'].t5_data = {'valid_detailed': 0.0,
'valid_approx': 0.0,
'valid_unmapped': '',
'valid_total': 0.0,
'all_detailed': 0.0,
'all_approx': 0.0,
'all_unmapped': '',
'all_total': 0.0}
空值可以用于任何状态并出现在任何 'column' 中(例如:vlaid_approx、all_detailed 等...)所以我想做的是一个用 0 替换这些空值中的任何一个的函数。我已经有了一个可用于迭代的所有状态名称的简单列表(可以说它叫做 state_list
)。我试过这样做:
print(miles_map['California'].t5_data['valid_unmapped'].fillna(0))
但它抛出错误 'str' object has no attribute 'fillna'
。另请注意,'empty' 值可以是 NaN 的“”、“-”、null。我只想在字典中将这些值中的任何一个永久替换为 0。不确定我需要在这里做什么;有什么建议吗?
您可以手动完成。编译一个set
要替换的值并修改(或替换)字典
data = {'valid_detailed': 0.0, 'valid_approx': 0.0, 'valid_unmapped': '',
'valid_total': 0.0, 'all_detailed': 0.0, 'all_approx': 0.0,
'all_unmapped': '', 'all_total': 0.0}
null_vals = {"", "-", None, float("nan")}
default = 0.0
for k, v in data.items():
if v in null_vals:
data[k] = default
# or
# data = {k: default if v in null_vals else v for k, v in data.items()}
我正在尝试清理一些似乎具有空值或 null 值的映射 dictionaries/objects。这是一个例子:
miles_map['California'].t5_data = {'valid_detailed': 0.0,
'valid_approx': 0.0,
'valid_unmapped': '',
'valid_total': 0.0,
'all_detailed': 0.0,
'all_approx': 0.0,
'all_unmapped': '',
'all_total': 0.0}
空值可以用于任何状态并出现在任何 'column' 中(例如:vlaid_approx、all_detailed 等...)所以我想做的是一个用 0 替换这些空值中的任何一个的函数。我已经有了一个可用于迭代的所有状态名称的简单列表(可以说它叫做 state_list
)。我试过这样做:
print(miles_map['California'].t5_data['valid_unmapped'].fillna(0))
但它抛出错误 'str' object has no attribute 'fillna'
。另请注意,'empty' 值可以是 NaN 的“”、“-”、null。我只想在字典中将这些值中的任何一个永久替换为 0。不确定我需要在这里做什么;有什么建议吗?
您可以手动完成。编译一个set
要替换的值并修改(或替换)字典
data = {'valid_detailed': 0.0, 'valid_approx': 0.0, 'valid_unmapped': '',
'valid_total': 0.0, 'all_detailed': 0.0, 'all_approx': 0.0,
'all_unmapped': '', 'all_total': 0.0}
null_vals = {"", "-", None, float("nan")}
default = 0.0
for k, v in data.items():
if v in null_vals:
data[k] = default
# or
# data = {k: default if v in null_vals else v for k, v in data.items()}