Pandas 数据帧多列标题,应用函数

Pandas 数据帧多列标题,应用函数,pandas,dataframe,Pandas,Dataframe,我有一个带有两列标题的数据框 我只想将下面的函数应用于第二列标题。这可能吗 在下面的示例中,So 2.0和2.1 df.columns = df.columns.str.replace('i', "") header 1.0 header 1.1 header 2.0 header 2.1 0 1 2 3 检查并重新创建多索引列,然后重新分配 s2=df.columns.levels[1].str.replace('i','') #good to men

我有一个带有两列标题的数据框

我只想将下面的函数应用于第二列标题。这可能吗

在下面的示例中,So 2.0和2.1

df.columns = df.columns.str.replace('i', "") 



    header 1.0     header 1.1
    header 2.0     header 2.1
0
1
2
3

检查并重新创建
多索引
列,然后重新分配

s2=df.columns.levels[1].str.replace('i','')
#good to mentioned here
#since you need the change the 2nd level
#so using .levels is good enough , but if you need do that for 1st level 
#try using `pd.Series(df.columns.get_level_values(1)).str.replace()`
df.columns=pd.MultiIndex.from_arrays([df.columns.get_level_values(0),s2])

非常感谢。然而,我收到了这个错误消息;ValueError:所有数组的长度都必须相同,这可能是什么?@fred.schwartz使用
s2=pd.Series(df.columns.get_level_values(1)).str.replace('i','')
,正如我在评论中提到的