pandasExcel合并单元格分析重命名未命名的列

我是pandas新手。 我正在尝试使用pandas(ExcelFile / read_csv)来读取如下所示的excel文件:

样本数据

当我做以下操作时:

xlsx = pd.ExcelFile("fruit.xlsx") df = pd.read_excel(xlsx, 'Sheet1', keep_default_na=False) print df 

我得到的输出:

  Sno Apple Unnamed: 2 Mango Unnamed: 4 0 1 True 13 False 6 1 2 False 4 True 8 

不过,我想获得输出:

  Sno Apple AppleCount Mango MangoCount 0 1 True 13 False 6 1 2 False 4 True 8 

我想用前缀列名称重命名无名列,然后将“计数”附加到该名称。 有没有办法做到这一点? 读取excel文件本身时可以这样做吗?

使用列表理解你可以做到这一点:

 new_columns = [df.columns[i-1] + "Count" if df.columns[i].find("Unnamed") >= 0 else df.columns[i] for i in range(len(df.columns))] In [20]: new_columns Out[20]: ['Sno', 'Apple', 'AppleCount', 'Mango', 'MangoCount'] df.columns = new_columns In [23]: df Out[23]: Sno Apple AppleCount Mango MangoCount 0 1 True 13 False 6 1 2 False 4 True 8 

你可以试试这个获得列值headers = df.dtypes.index

  new_column_name = headers[1] + "Count" df.rename(columns = {headers[2] : new_column_name} , inplace = True) 

因此你可以写逻辑