name multiindex multi index example column python pandas dataframe multi-index

multiindex - python pandas select rows



¿Usando.loc con un MultiIndex en pandas? (2)

Pruebe la indexación de la cross-section :

In [68]: df.xs(''at'', level=''QGram'', drop_level=False).loc[[1,4]] Out[68]: Char Dwell Flight ND_Offset Offset QGram at 1 t 180 0 0.108363 5 4 a 20 180 0.000000 0

¿Alguien sabe si es posible usar el método DataFrame.loc para seleccionar desde un MultiIndex? Tengo el siguiente DataFrame y me gustaría poder acceder a los valores ubicados en las columnas ''Dwell'', en los índices de (''at'', 1) , (''at'', 3) , (''at'', 5) , y así sucesivamente (no secuencial).

Me encantaría poder hacer algo como data.loc[[''at'',[1,3,5]], ''Dwell''] , similar a data.loc[[1,3,5], ''Dwell''] Sintaxis de data.loc[[1,3,5], ''Dwell''] para un índice regular (que devuelve una serie de 3 miembros de los valores de Dwell).

Mi propósito es seleccionar un subconjunto arbitrario de los datos, realizar un análisis solo en ese subconjunto y luego actualizar los nuevos valores con los resultados del análisis. Planeo usar la misma sintaxis para establecer nuevos valores para estos datos, por lo que los selectores de encadenamiento no funcionarían realmente en este caso.

Aquí hay una parte del DataFrame con el que estoy trabajando:

Char Dwell Flight ND_Offset Offset QGram at 0 a 100 120 0.000000 0 1 t 180 0 0.108363 5 2 a 100 120 0.000000 0 3 t 180 0 0.108363 5 4 a 20 180 0.000000 0 5 t 80 120 0.108363 5 6 a 20 180 0.000000 0 7 t 80 120 0.108363 5 8 a 20 180 0.000000 0 9 t 80 120 0.108363 5 10 a 120 180 0.000000 0

¡Gracias!


Si está en la versión 0.14, simplemente puede pasar una tupla a .loc siguiente manera:

df.loc[(''at'', [1,3,4]), ''Dwell'']