【发布时间】:2021-08-27 15:00:15
【问题描述】:
我有字典,我用它来重命名数据框中的列,如下所示:
column_names = {name1:rename1, name2:rename2}
new_df = df[[k for k in column_names.keys()]]
new_df.rename(columns=columns_dict, inplace=True)
当一个新字段出现在字典中时,我在代码的这一行收到此错误:
code: new_df = df[[k for k in column_names.keys()]]
issue: KeyError: "['new_col'] not in index"
如何在重命名值时为列表理解创建一个灵活的解决方案,如果 df 或字典中存在新值,则包含该列并将其分配为零值?
我尝试创建一些尝试捕获,但我不确定在此之后如何继续:
try:
new_df = df[[k for k in column_names.keys()]]
new_df.rename(columns=columns_dict, inplace=True)
except:
#assign the failed column back to original df (named df) and assign value
#of zero
#rerun all steps in try block.
【问题讨论】:
标签: python python-3.x pandas dictionary