Seleccione el índice inverso en pd.Dataframe

¿Cómo seleccionar el índice inverso en pd.DataFrame usando loc o iloc ?

Intenté df.loc[!my_index,my_feature] pero falló.

Y df.loc[[ind for ind in df.index.tolist() if ind not in my_index],my_feature] parece demasiado aburrido. ¿Alguna idea mejor?

difference uso

 df.loc[df.index.difference(my_index),my_feature] 

Alternativamente numpy.setdiff1d :

 df.loc[np.setdiff1d(df.index, my_index),my_feature] 

Muestra :

 my_index = [5,7] df = pd.DataFrame({'A': ['a','a','a','b'], 'B': list(range(4)) }, index=[5,7,8,9]) print (df) AB 5 a 0 7 a 1 8 a 2 9 b 3 print(df.loc[df.index.difference(my_index),'A']) 8 a 9 b Name: A, dtype: object 

Usted puede tomar ventaja de index.difference .

 idx2 = df.index.difference(my_index) 

O bien, set.difference

 idx2 = set(df.index).difference(my_index) # note, order not guaranteed 

 df.loc[idx2, ...]