1 回答

TA貢獻2080條經驗 獲得超4個贊
將f-strings 與列表理解結合使用:
#python 3.6+
df.columns = [f'{j}_{i}' for i, j in df.columns]
#lower python versions
#df.columns = ['{}_{}'.format(j, i) for i, j in df.columns]
print (df)
A_baz B_baz C_baz A_zoo B_zoo C_zoo
foo
one 1 2 3 x y z
two 4 5 6 q w t
或DataFrame.swaplevel與map和join:
df = df.pivot(index='foo', columns='bar', values=['baz', 'zoo']).swaplevel(0,1,axis=1)
df.columns = df.columns.map('_'.join)
print (df)
A_baz B_baz C_baz A_zoo B_zoo C_zoo
foo
one 1 2 3 x y z
two 4 5 6 q w t
添加回答
舉報