我有以下DataFrame(从CSV文件中读取我无法更改):
g1 v0
我想"分裂"多索引中的列g1 v1
, g1 g2
v0 v1 v0 v1
type
0 low 0.5 123 0.8 123
1 high 0.7 253 0.9 147
等,例如像:
gx / vy
基本上,我希望将列名的ngOnInit
部分放入两个不同的级别。
答案 0 :(得分:4)
df = df.set_index('type')
df.columns = df.columns.str.split(expand=True)
print (df)
g1 g2
v0 v1 v0 v1
type
low 0.5 123 0.8 123
high 0.7 253 0.9 147
df1 = df.drop('type', axis=1)
df1.columns = df1.columns.str.split(expand=True)
print (df1)
g1 g2
v0 v1 v0 v1
0 0.5 123 0.8 123
1 0.7 253 0.9 147
df = pd.concat([df['type'].rename(('','type')), df1], axis=1)
print (df)
g1 g2
type v0 v1 v0 v1
0 low 0.5 123 0.8 123
1 high 0.7 253 0.9 147