как изменить несколько заголовков в фрейм данных с плоским заголовком

#python #python-3.x #pandas #dataframe

Вопрос:

Это мои данные:

                             My Very First Column                        
Sr No           Col1                                      Col2      
Sr No   sub_col1    sub_col2    sub_col3    sub_col1    sub_col2    sub_col3
1        9             45         3           9           97          9
2        32            95         12          67          78          34
3        3              6         5           85          54          99
4        32            31         75          312         56          98
 

Вот как я хочу, чтобы это было:

 Sr No   Col1-sub_col1   Col1-sub_col2   Col1-sub_col3   Col2-sub_col1   Col2-sub_col2   Col2-sub_col3
  1            9             45               3               9              97               9
  2            32            95               12              67             78              34
  3            3             6                5               85             54              99
  4            32            31               75              312            56              98
 

Проблема в том, что столбцы и вложенные столбцы всегда отличаются друг от друга каждый раз. Таким образом, я не могу установить какое-либо постоянное значение.

Ответ №1:

предположим, у вас есть dataframe имя df :-

Попробуйте использовать:-

 columns=[]
for x in df.columns.to_list():
    columns.append('-'.join([list(x)[0],list(x)[1]]))
 

Окончательно:-

 df.columns=columns