我有以下df和dict:
df = pd.DataFrame({'a':[1,2,3,4], 'x':[11,12,13,14]})
dict_ = {'new_a':['a','b','c'],'new_x':['x','y','z']}
我想检查dict_values中是否存在列'a'
和'x'
,如果存在,请用它们的键值重命名它们。
期望输出:
df = pd.DataFrame({'new_a':[1,2,3,4], 'new_x':[11,12,13,14]})
反转/压平字典和rename
:
d2 = {k:v for v,l in dict_.items() for k in l}
# {'a': 'new_a', 'b': 'new_a', 'c': 'new_a',
# 'x': 'new_x', 'y': 'new_x', 'z': 'new_x'}
out = df.rename(columns=d2)
输出:
new_a new_x
0 1 11
1 2 12
2 3 13
3 4 14