work with tutorial new index functions example data create python pandas slice

python - with - Cortar Pandas DataFrame por fila



python pandas dataframe tutorial (2)

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]: a b 0 1 4 1 2 5 2 3 6 3 4 7 4 5 8 In [14]: df.loc[[0,2,4]] Out[14]: a b 0 1 4 2 3 6 4 5 8 In [15]: df.loc[1:3] Out[15]: a b 1 2 5 2 3 6 3 4 7

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 objetivo 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 hacer un nuevo df con estas filas solamente.


In [36]: df Out[36]: A B C D 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]: A B C D 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]: A B C D b 6 1 5 2 d 9 3 2 2 In [40]: df.ix[rows] Out[40]: A B C D 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]: A B C D a 0 2 6 0 c 0 2 6 0