tutorial multiindex index groupby español python matplotlib pandas multi-index

multiindex - pandas python tutorial español



Pandas trazando con multi-índice (2)

Después de realizar un groupby.sum() en un DataFrame , tengo problemas para tratar de crear mi trama prevista.

¿Cómo puedo crear una subtrama ( kind=''bar'' ) para cada Code , donde el eje x es el Month y las barras son ColA y ColB ?


Descubrí que el método de desagrupamiento (nivel) funciona a la perfección, lo que tiene el beneficio adicional de no necesitar un conocimiento a priori de cuántos códigos hay.

df.unstack(level=0).plot(kind=''bar'', subplots=True)


Usando el siguiente DataFrame ...

# using pandas version 0.14.1 from pandas import DataFrame import pandas as pd import matplotlib.pyplot as plt data = {''ColB'': {(''A'', 4): 3.0, (''C'', 2): 0.0, (''B'', 4): 51.0, (''B'', 1): 0.0, (''C'', 3): 0.0, (''B'', 2): 7.0, (''Code'', ''Month''): '''', (''A'', 3): 5.0, (''C'', 1): 0.0, (''C'', 4): 0.0, (''B'', 3): 12.0}, ''ColA'': {(''A'', 4): 66.0, (''C'', 2): 5.0, (''B'', 4): 125.0, (''B'', 1): 5.0, (''C'', 3): 41.0, (''B'', 2): 52.0, (''Code'', ''Month''): '''', (''A'', 3): 22.0, (''C'', 1): 14.0, (''C'', 4): 51.0, (''B'', 3): 122.0}} df = DataFrame(data)

... puedes trazar lo siguiente (usando una sección transversal):

f, a = plt.subplots(3,1) df.xs(''A'').plot(kind=''bar'',ax=a[0]) df.xs(''B'').plot(kind=''bar'',ax=a[1]) df.xs(''C'').plot(kind=''bar'',ax=a[2])

Uno para A, uno para B y uno para C, eje x: ''Mes'', las barras son ColA y ColB. Tal vez esto es lo que estás buscando.