Python DataFrame.replace为嵌套dict
我有一个巨大的数据框,其中有很多条目需要更改。因此,我创建了一个翻译目录,它具有以下结构:Python DataFrame.replace为嵌套dict,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个巨大的数据框,其中有很多条目需要更改。因此,我创建了一个翻译目录,它具有以下结构: {'Data.Bar Layer': {'1': 0, '1.E': 21, '2': 13, '2.E': 22, '3': 14, '3.E': 24, '4': 15, '4.E': 23, 'B': 16, 'CL1': 1, 'CL2': 2, 'CL2a': 6, 'CL3': 3, 'CL3a': 4, 'CL4': 5, 'E':
{'Data.Bar Layer': {'1': 0,
'1.E': 21,
'2': 13,
'2.E': 22,
'3': 14,
'3.E': 24,
'4': 15,
'4.E': 23,
'B': 16,
'CL1': 1,
'CL2': 2,
'CL2a': 6,
'CL3': 3,
'CL3a': 4,
'CL4': 5,
'E': 18,
'L1': 7,
'L2': 8,
'L2a': 12,
'L3': 9,
'L3a': 10,
'L4': 11,
'T': 17,
'T&B': 19,
'T+B': 20},
'Data.Bar Type': {'N': 0, 'R': 1},
'Data.Defined No. Bars': {'No': 0, 'Yes': 1},
'Data.Design Option': {'-1': 0, 'Main Model': 1},...}
第一个键对应于dataframe列,第二个键对应于需要更改的值,例如,列Data.Bar层中的all'1'
应为0。
但是,必须多次交换相同的值,这(我猜)会导致错误:
不允许使用重叠的键和值进行替换
有没有办法避免这个错误?我用apply和map尝试了一些方法,但不幸的是,它们都不起作用
提前感谢并致以亲切的问候,
Max可能有一种更具python风格的方式,但这段代码对我来说很有用
for col in your_dict.keys():
df[col].replace(your_dict[col], inplace=True)