Как изменить порядок графиков в команде pandas hist
Я пытаюсь построить набор гистограмм для фрейма данных с 25 столбцами с именем "Feature_1","Feature_2",...."Feature_25"
. Когда я использую df.hist()
, он сортирует отдельные гистограммы по их именам, поэтому они отображаются в следующем порядке: "Feature_1",""Feature_10","Feature_11"..."Feature_2","Feature_20",...
который не то, что мне нужно.
Как изменить порядок сортировки? Параметр "Передача столбцов" ничего не меняет.
Я решил проблему, используя matplotlib напрямую, но это не то, что я хотел бы делать каждый раз, когда мне нужно было построить несколько гистограмм.
Ответы
Ответ 1
Вместо этого вы могли бы делать повторные вызовы для истории с отдельными столбцами. Не уверен, что это соответствует всем вашим потребностям.
import pandas as pd
df = pd.DataFrame({'a':[1,1,1,1,3],
'b':[1,1,2,1,3],
'c':[2,2,2,1,3],
})
df[['c']].hist()
df[['a']].hist()
df[['b']].hist()
Просто перебирайте список столбцов в том порядке, в котором вы хотели бы
my_list = ['c','a','b']
for each in my_list:
df[[each]].hist()
Ответ 2
Попробуйте сделать категоризацию столбцов категориальным, а затем построим с помощью sort_columns True.
import pandas as pd
df = pd.DataFrame({'a':[1,2], 'b':[30,10]})
df.columns = pd.CategoricalIndex(['b', 'a'], ordered=True)
df.plot.hist(sort_columns=True, subplots=True)