【发布时间】:2018-06-12 04:08:33
【问题描述】:
我在使用多索引的set_levels 时遇到了问题
from io import StringIO
txt = '''Name,Height,Age
"",Metres,""
A,-1,25
B,95,-1'''
df = pd.read_csv(StringIO(txt),header=[0,1],na_values=['-1',''])
df.columns = df.columns.set_levels(df.columns.get_level_values(level=1).str.replace('Un.*',''),level=1)
Name Height Age
Metres
0 A NaN 25.0
1 B 95.0 NaN
如果我再次运行相同的命令
df.columns = df.columns.set_levels(df.columns.get_level_values(level=1).str.replace('Un.*',''),level=1)
Name Height Age
Metres
0 A NaN 25.0
1 B 95.0 NaN
现在这产生了预期的结果。为什么会出现这种行为?是否可以在第一次尝试时保持标签未排序?
【问题讨论】:
标签: python pandas multi-index