2 回答
TA贡献1876条经验 获得超5个赞
我找不到可以直接这样做的函数
df.columns=df.columns.values
df
Out[110]:
(X, a) (X, b) (Y, a) (Y, b)
0 1 3 4 2
1 5 7 8 6
df.rename(columns={('Y', 'b'):('Y', 'b1')})
Out[111]:
(X, a) (X, b) (Y, a) (Y, b1)
0 1 3 4 2
1 5 7 8 6
df=df.rename(columns={('Y', 'b'):('Y', 'b1')})
df.columns=pd.MultiIndex.from_tuples(df.columns)
df
Out[114]:
X Y
a b a b1
0 1 3 4 2
1 5 7 8 6
TA贡献1798条经验 获得超3个赞
或者,你可以这样做:
# Find index of column to change.
i = df.columns.get_loc(('Y','b'))
# Rename the column.
cols = df.columns.values
cols[i] = ('Y','b1')
df.columns = pd.MultiIndex.from_tuples(cols)
还是不是很方便。
添加回答
举报