根据模式搜索重命名多列

时间:2019-02-14 17:18:26

标签: python pandas dataframe rename

我正在导入一个Excel文件,该文件的行值中有很多缩进。这些缩进用于指定类别和子类别。当我将文件移植到熊猫时,创建了许多未命名的列,例如:

  

['百万级别','未命名:1','未命名:2','未命名:3',   ''          “全国卫生总支出”,“医院护理”,          “医师和临床服务”,“其他专业服务”,          “牙科服务”,“未命名:10” ,          “其他保健,住宅和个人护理”,“家庭保健”,          “护理设施和持续护理退休社区”,          “未命名:14”,“处方药”,“耐用医疗设备”,          “其他非耐久医疗产品”,“未命名:18”,“未命名:19”,          “州”,“联邦”,“健康保险净费用”,          '政府公共卫生活动','未命名:24','研究',          “结构”,“设备”]

我尝试了几件事:

    type_of_prog_1.columns= type_of_prog_1.columns.str.replace('Unnamed: *', 
    '')
    type_of_prog_1= type_of_prog_1.rename(columns=lambda x: 
    x.replace('Unnamed: *', 'Level: *'))

输出是这些列的编号分别为1、2、3等。编号的列使以后难以切片。

理想情况下,我希望根据“未命名”之后的数字将这些列命名为“级别1”或“级别2”。因为有24个未命名的列,所以我不想这样做-{“未命名1 “:“ 1级”,...}

1 个答案:

答案 0 :(得分:1)

根据对问题的描述,可以致电Index.str.replace

df.columns = df.columns.str.replace('Unnamed:', 'Level')