mogę uzyskać wykres typu boxplot kolumny wynagrodzenia w DataFrame pandy ...Jak zastosować niestandardową kolejność kolumn do pandy boxplot?
train.boxplot(column='PredictionError',by='Category',sym='')
... jednak nie mogę dowiedzieć się, jak zdefiniować indeksu zamówienie używany w kolumnie „kategoria” - I aby dostarczyć własne niestandardowe zamówienie, według innego kryterium:
category_order_by_mean_salary = train.groupby('Category')['Salary'].mean().order().keys()
Jak mogę zastosować mój własny kolejność kolumn do boxplot kolumn? (inne niż brzydkie kludowanie nazw kolumn z prefiksem wymuszającym zamawianie)
"Kategoria" to kolumna łańcuchowa przyjmująca 27 różnych wartości: ['Accounting & Finance Jobs','Admin Jobs',...,'Travel Jobs']
. Więc można go łatwo factorized z pd.Categorical.from_array()
o inspekcji, ograniczenie jest w środku pandas.tools.plotting.py:boxplot()
, który przekształca obiekt kolumny nie pozwalając zamawiającego:
- pandas.core.frame.py.boxplot() jest passthrough do
- pandas.tools.plotting.py:boxplot() która tworzy instancję ...
- matplotlib.pyplot.py:boxplot() która tworzy instancję ...
- matplotlib.axes.py:boxplot()
Przypuszczam Mógłbym albo włamać się niestandardową wersję Pandy boxplot(), lub dotrzeć do wewnętrznych części obiektu. A także zgłoś prośbę o ulepszenie.
EDYCJA: to pytanie pojawiło się w przypadku pand ~ 0.13 i prawdopodobnie zostało zastąpione przez ostatnie (0.19+?) Wersje zgodnie z późną odpowiedzią @ Cireo.
informacji Dodano dla ciebie i pomysły na obejścia. Dodanie oddzielnej wolnostojącej kolumny całkowitej nie daje przyzwoitego wykresu, ponieważ teraz twoje etykiety kolumnowe są (nieczytelne) liczbami całkowitymi, a nie tekstem. (Kludowanie prefiksu tekstowego w nazwy kategorii, aby wymusić niestandardową kolejność sortowania, jest być może najszybszym hackerem, ale wciąż brzydkim) – smci
[pandas DataFrame nie może obsłużyć kategorii Categorical] (http://stackoverflow.com/questions/15356433/how-to -pogeneracja-panda-ramka-danych-kolumny-z-kategorialnej-z-kolumny-kolumny), w przeciwieństwie do R. – smci
nie tam, gdzie zmierzałem. Zwykle po prostu używam 'apply' z zakodowaną tabelą odnośników. zobacz moją zredagowaną odpowiedź na inne podejście. –