Как создать гистограмму с правильным количеством значений с помощью python?

#python #pandas #plotly #bar-chart

Вопрос:

данные выглядят так

A метка
строка отрицательный
строка отрицательный
строка отрицательный
строка положительный
строка положительный
строка отрицательный
строка положительный

Я хочу создать простую столбчатую диаграмму, показывающую два столбца — количество положительных и количество отрицательных, рядом друг с другом, синим и красным.

Если я сделаю это

 fig = px.bar(df, x=df["label"])
 

тогда я получаю это (кстати, вы знаете, почему цвета приглушены из ниоткуда?):

введите описание изображения здесь

Когда я наводлю курсор, он говорит «count = 1», я хочу, чтобы он указывал фактическое количество.. и я хочу сделать отрицательную полосу красной. Как мне это сделать?

Комментарии:

1. Подробности см. в разделе Последовательность цветов plotly.

Ответ №1:

у plotly есть тип диаграммы гистограммы. https://plotly.com/python/histograms /

 import io
import pandas as pd
import plotly.express as px

df = pd.read_csv(io.StringIO("""A,label
string,negative
string,negative
string,negative
string,positive
string,positive
string,negative
string,positive"""))

px.histogram(df, x="label", color="label", color_discrete_sequence=["red","blue"])
 

введите описание изображения здесь

Ответ №2:

Выполните groupby и объедините с count , чтобы получить новый фрейм данных с количеством для двух классов в label :

 fig = px.bar(df.groupby([‘a’]).count(),x=‘label’,color =‘label’, color_discrete_sequence=[‘blue’,’red’])