posso ottenere un grafico a scatole di una colonna stipendio in un dataframe panda ...Come applicare l'ordine di colonne personalizzato a boxe panda?
train.boxplot(column='PredictionError',by='Category',sym='')
... però io non riesco a capire come definire l'indice in ordine utilizzato su colonna 'Categoria' - I vuole fornire il mio ordine personalizzato, secondo un altro criterio:
category_order_by_mean_salary = train.groupby('Category')['Salary'].mean().order().keys()
Come posso applicare il mio ordine colonna personalizzata alle colonne grafico a scatole? (diverso dal brutto che blocca i nomi delle colonne con un prefisso per forzare l'ordinamento)
'Category' è una colonna di stringhe che assume 27 valori distinti: ['Accounting & Finance Jobs','Admin Jobs',...,'Travel Jobs']
. Così può essere facilmente fattorizzata con pd.Categorical.from_array()
Su controllo, la limitazione è all'interno pandas.tools.plotting.py:boxplot()
, che converte l'oggetto colonna senza consentire ordinazione:
- pandas.core.frame.py.boxplot() è un passthrough per
- pandas.tools.plotting.py:boxplot() che crea un'istanza ...
- matplotlib.pyplot.py:boxplot() che crea un'istanza ...
- matplotlib.axes.py:boxplot()
Suppongo che potrei o incidere una versione personalizzata di panda boxplot(), oppure raggiungere in interni dell'oggetto. E anche presentare una richiesta di miglioramento.
MODIFICA: questa domanda è sorta con panda ~ 0.13 ed è stata probabilmente obsoleta dalle recenti versioni (0.19+?) Come per la risposta in ritardo di @ Cireo.
dettaglio aggiunto per te e idee su soluzioni alternative. L'aggiunta di una colonna intera autonoma separata non fornisce un grafico decente perché ora le etichette delle colonne sono numeri interi (illeggibili) e non di testo. (Kludging un prefisso di testo in nomi di categoria per forzare ordinamento personalizzato-ordine è forse l'hack più veloce. Ma ancora brutto) – smci
[panda dataframe non può gestire una colonna categoriale] (http://stackoverflow.com/questions/15356433/how-to Generi i-panda-dataframe-colonna-di-categorica-da-string-colonna), a differenza di R. – smci
non dove ero diretto. Di solito uso 'apply' con una tabella di ricerca hard-coded. vedere la mia risposta modificata per un approccio diverso, però. –