使用
mask
用于将值替换为
<LQ
通过
LQ
数据帧,然后通过
drop
移除第一层
MultiIndex
通过
droplevel
最后
join
一起:
df1 = df.xs('C',level=1, axis=1)
df1 = df1.mask(df1 == "<LQ", df.xs('LQ',level=1, axis=1))
df2 = df.drop(['C','LQ'], axis=1, level=1)
df2.columns = df2.columns.droplevel(0)
df = df2.join(df1)
print (df)
bla M1 M2
0 1 1.6 2.7
1 2 0.2 4.1
2 3 NaN NaN
3 4 3.2 0.4
如果只有一个
0, bla
然后使用列
set_index
具有
rename_axis
最后
reset_index
:
df = df.set_index((0,'bla'))
df1 = df.xs('C',level=1, axis=1)
df = (df1.mask(df1 == "<LQ", df.xs('LQ',level=1, axis=1))
.rename_axis('bla')
.reset_index())
print (df)
bla M1 M2
0 1 1.6 2.7
1 2 0.2 4.1
2 3 NaN NaN
3 4 3.2 0.4