Постройте гистограмму со значениями индекса по оси x и частотами каждого значения столбца по оси y - PullRequest
0 голосов
/ 13 июня 2018

На основе фрейма данных

import pandas as pd
df = pd.DataFrame({'cat1':[100,0,0,5],'cat2':[5,20,50,0]})
df 
    cat1    cat2
0   100 5
1   0   20
2   0   50
3   5   0

Я хочу построить гистограмму так, чтобы ось x представляла значения индекса от 0 до 3, а столбцы для каждого значения индекса отображали распределение значений столбца cat1 иcat2.

df.plot.hist(alpha=0.5)

отображает значения индекса по оси y и значения категорий по оси x:

enter image description here

И

df.transpose().plot.hist(alpha=0.5)

приводит к чему-то, чего я даже не до конца понимаю:

enter image description here

На самом деле мне нужен бар для каждого значения индекса,который иллюстрирует значения в столбцах - например, для индекса 0 должна быть полоса цвета cat1 с растяжением до 100 на оси y, содержащая еще одну полосу цвета cat2 с растяжением до 5.

Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Вы можете использовать функции pandas viz:

df.plot.bar (stacked = True)

0 голосов
/ 13 июня 2018

Попробуйте, это близко к тому, что вы хотите:

import matplotlib.pyplot as plt

df.plot.barh()
plt.show()

Обновление благодаря SpghttCd:

import matplotlib.pyplot as plt

df.plot.bar()
plt.show(
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...