pandas 我怎么能做标题,每7列(除了前3)

46qrfjad  于 2023-03-21  发布在  其他
关注(0)|答案(1)|浏览(132)

我有

df
Out[92]: 
               MAIN TITLE 
   S  K  L  Z  X  C  V  Z  X  C  V  Z  X  C  V  
a  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
b  1  1  0  0  0  0  0  0  0  0  0  0  0  0  0

我想

df
Out[92]: 
               MAIN TITLE
                B           C           D     
   S  K  L  Z  X  C  V  Z  X  C  V  Z  X  C  V  
a  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
b  1  1  0  0  0  0  0  0  0  0  0  0  0  0  0

我看到smth像https://question-it.com/questions/1200269/kak-ja-mogu-sozdat-mnogourovnevyj-zagolovok-v-pandas-dataframe,但是……

zxlwwiss

zxlwwiss1#

如果原始DataFrame中的MultiIndex通过Index.get_level_values提取第一和第二级,并通过将arange与列表vals进行整数除法来重新创建3级MultiIndex:

vals = ['B','C','D']

N = 7
a = df.columns.get_level_values(0)
b = df.columns.get_level_values(1)

di = dict(enumerate(vals))
c = [di.get(x,x) for x in np.arange(len(df.columns)) // N]

df.columns = [a,c,b]
print (df)
  MAIN TITLE                                          
           B                    C                    D
           S  K  L  Z  X  C  V  Z  X  C  V  Z  X  C  V
a          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
b          1  1  0  0  0  0  0  0  0  0  0  0  0  0  0

相关问题