Взвешенная сгруппированная гистограмма на одном неперекрывающемся графике в matplotlib - PullRequest
1 голос
/ 27 января 2020

Учитывая DataFrame с весами и группами наблюдений, как можно построить сгруппированную взвешенную гистограмму в matplotlib? Я ищу что-то вроде этого:

Source: https://twitter.com/Econ_Marshall/status/1220847559461175297/photo/2

Данные могут выглядеть так:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

d = {'by' : ['A', 'A', 'B', 'B', 'C'],
     'val' : [4., 3., 2., 1., np.nan],
     'w' : [10., 8., np.nan, 5., 7.]}     
df = pd.DataFrame(d)

Я могу получить отдельные гистограммы используя pandas график by arg, например:

df.hist('val', by='by')

enter image description here

или

df.groupby('by').plot.hist('val')

enter image description here

Но построение pandas не поддерживает либо добавление весов к этому, либо AFAICT построение гистограмм на том же графике.

В этом руководстве показано, как нанести их на один и тот же график, но серии перекрываются, а также не используют общие ячейки. Он также не использует веса наблюдений, хотя, похоже, они могут быть добавлены. enter image description here

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