例如:我有这样的df:
id Status Country Income
1 4 2 3
2 5 3 2
像这样的字典:
d_dict = {Status : { '4':'Married', '5':'UnMarried'},
Country: { '2': 'Japan' , '3': 'China'},
Income: {'3': "5000-10000", 2: "11000-20000"}}
我想基于嵌套字典映射这些值。我可以为这样一个专栏做:
for k,v in d_dict.items():
max_d[k] = max(v, key=v.get)
df['Status'] = df['Status'].map(max_d)
但我有2000多列,我不知道如何才能处理多个列
我也尝试了替换,但不起作用
df=df.astype(str).replace(d_dict)
对于me secons解决方案,效果很好-嵌套键中唯一必需的数字是字符串:
因此,您可以尝试将嵌套键转换为字符串:
或将所有键转换为整数:
如果我理解正确,您可以使用:
但请注意,dict键必须是字符串(因此str(x)而不是x),否则会引发错误
相关问题 更多 >
编程相关推荐