#python #pandas #dataframe #matplotlib #bar-chart
#python #панды #dataframe #matplotlib #гистограмма
Вопрос:
У меня есть прикрепленный ниже фрейм данных, и мне нужно построить столбчатую диаграмму, показывающую количество пробегов по оси x и частоту / количество по оси y.
Я пробовал эту команду, но она не отображает правильные результаты —
bins = [0,10,20,30,40]
plt.hist(df.Runs, bins, histtype=’bar’)
plt.xlabel(‘x’) plt.ylabel(‘y’)
Я получаю приведенный ниже график : —
Ожидаемый график, который я хочу —
Комментарии:
1. Что вы подразумеваете под «неправильным отображением результатов» ? Можете ли вы описать, что именно не так? Кстати, если вы предоставите
bins = [0,10,20,30,40]
, ожидается, что значения, превышающие40
, не будут представлены.2. @JohanC Я добавил графики, которые я получаю из своего кода, и тот, который я ожидаю, что он появится.
3. Вероятно, ваши «прогоны» представляют собой строки вместо чисел. Если вы читаете в фрейме данных с помощью такой функции, как
pd.read_csv()
, правильное преобразование обычно происходит автоматически. В противном случаеdf['DataFrame Column'] = df['DataFrame Column'].astype(int)
следует выполнить преобразование. Обратите внимание, что у вас есть несколько столбцов, которые должны быть числовыми.4. @JohanC Я использую только pd.read_csv
5. С помощью, например
df.info()
, вы можете узнать тип столбцов. Вы также можете попробоватьdf.hist()
использовать гистограмму pandas или, может быть, seabornhistplot()
Ответ №1:
Вам нужно выполнить очистку данных, и вам нужно удалить строки ‘DND’ и ‘TDNB’ из прогонов, затем вам нужно импортировать seaborn, затем вам нужно отобразить ответ grap: bins=[0,10,20,30,40] sns.displot(df.Runs,bins) plt.show()