Cortar Pandas DataFrame por fila

Estoy trabajando con datos de encuestas cargados desde un archivo h5 como hdf = pandas.HDFStore('Survey.h5') través del paquete pandas. Dentro de este DataFrame , todas las filas son los resultados de una sola encuesta, mientras que las columnas son las respuestas para todas las preguntas dentro de una sola encuesta.

DataFrame objective es reducir este conjunto de datos a un DataFrame más DataFrame incluya solo las filas con una determinada respuesta representada en una pregunta determinada, es decir, con el mismo valor en esta columna. Soy capaz de determinar los valores de índice de todas las filas con esta condición, pero no puedo encontrar cómo eliminar estas filas o crear un nuevo df con estas filas solamente.

 In [36]: df Out[36]: ABCD a 0 2 6 0 b 6 1 5 2 c 0 2 6 0 d 9 3 2 2 In [37]: rows Out[37]: ['a', 'c'] In [38]: df.drop(rows) Out[38]: ABCD b 6 1 5 2 d 9 3 2 2 In [39]: df[~((df.A == 0) & (df.B == 2) & (df.C == 6) & (df.D == 0))] Out[39]: ABCD b 6 1 5 2 d 9 3 2 2 In [40]: df.ix[rows] Out[40]: ABCD a 0 2 6 0 c 0 2 6 0 In [41]: df[((df.A == 0) & (df.B == 2) & (df.C == 6) & (df.D == 0))] Out[41]: ABCD a 0 2 6 0 c 0 2 6 0 

Si ya conoces el índice puedes usar .loc :

 In [12]: df = pd.DataFrame({"a": [1,2,3,4,5], "b": [4,5,6,7,8]}) In [13]: df Out[13]: ab 0 1 4 1 2 5 2 3 6 3 4 7 4 5 8 In [14]: df.loc[[0,2,4]] Out[14]: ab 0 1 4 2 3 6 4 5 8 In [15]: df.loc[1:3] Out[15]: ab 1 2 5 2 3 6 3 4 7