#python-3.x #pandas #data-processing
#python-3.x #pandas #обработка данных
Вопрос:
У меня есть фрейм данных в Pandas (с использованием Python 3.7), как показано ниже:
# actuals probability bucket
# 0 0.0 0.116375 2
# 1 0.0 0.239069 3
# 2 1.0 0.591988 6
# 3 0.0 0.273709 3
# 4 1.0 0.929855 10
Где ‘bucket’ может принимать дискретные значения от 1 до 10. И ‘actuals’ может принимать только 2 значения, либо 1, либо 0.
Мне нужно построить гистограмму так, чтобы ось x = ‘bucket’ (т. е. от 1 до 10) и ось y = сумма ‘actuals’ . Тогда как я могу это сделать?
Ответ №1:
Используйте groupby.sum
с plot
:
df.groupby('bucket')['actuals'].sum().plot(kind='bar')
При необходимости histogram
используйте kind='hist'
Комментарии:
1. Привет @sandeep, решение kind =’bar’ сработало. В дополнение к этому, я попробовал приведенный ниже фрагмент кода, и это также сработало. bin_data_df_sorted.groupby(‘bucket’).actuals.sum().plot(kind =’bar’) Можете ли вы разбить эту строку и сообщить мне, почему «actuals.sum ()» работает нормально и что это значит? (Я новичок в Python)
2. @Bhuvi007 Вы можете получить доступ к столбцам фрейма данных с помощью
.column_name
, вот почему вы можете получить доступ с помощью.actuals
. Но это не удается, если у вас есть специальные символы типа.
в имени столбца или подобные пробелы.