Я играл с данными, которые у меня были с глубоким мультииндексисом, только с одним столбцом «значение». Я удалил некоторые строки, которые были плохими данными, но потом возникли проблемы с индексированием ... Любые идеи?ошибка при удалении строк из pandas multindex?
инициализировать пример dataframe (не мои данные):
m=pd.MultiIndex.from_product(
[sorted(i) for i in [['one','two'],'abcd']],
names=['nums','lets'])
df1=pd.DataFrame(np.random.randn(len(m)),index=m)
, который создает
nums lets
one a 0.433026
b 1.203037
c -0.965066
d 1.028274
two a 0.228630
b 0.445138
c -1.136602
d 0.135137
следуют (для удаления плохих данных)
df2=df1.loc[
~((df1.index.get_level_values('nums')=='two')
&(df1.index.get_level_values('lets')=='c'))]
В этом удаляется только «два гр ':
nums lets
one a 0.433026
b 1.203037
c -0.965066
d 1.028274
two a 0.228630
b 0.445138
d 0.135137
Здесь все начинает становиться багги.
df2.loc[pd.IndexSlice[:,'c']]
не работает, что раздражает и неожиданно, но ОК. , но тогда почему
df2.loc[pd.IndexSlice[:,'a']]
не удалось? Ошибка Возвращается KeyError: "метка [а] не в [столбцов]
Даже страннее -
df2.loc[pd.IndexSlice['two','a']]
это прекрасно.
Я использую новейшую анаконду, поэтому панды 0.14.1 Мысли?
упс хороший улов – queryous