我正在使用此查询脚本从api rest获取数据。
完成此操作后,我得到了以下数据:
我是python的新手,我有一些难以理解的如何选择列:
我尝试了以下代码,但它出现了:
df1 = df[(df['Meses'] != 'Total') & (df['Orcado x Realizado'] == 'Realizado')]
KeyError: 'Meses'
答案 0 :(得分:1)
您有两个选项来过滤MultiIndex数据帧:
<强> 1。将索引提升为列并按列过滤
df = df.reset_index()
df1 = df[(df['Meses'] != 'Total') & (df['Orcado x Realizado'] == 'Realizado')]
<强> 2。直接按索引过滤
df1 = df[(df.index.get_level_values('Meses') != 'Total') &
(df.index.get_level_values('Orcado x Realizado') == 'Realizado')]
答案 1 :(得分:0)
reset_index()
会做
>>> df.reset_index()["Meses"]
您正在使用的代码(link)正在设置多索引和一列
index = pd.MultiIndex.from_tuples(keylist, names=dimension_names)
...
df = pd.DataFrame(values, index=index, columns=["Values"])
只需重置索引即可将其设为df
。