Как панды могут построить 2 PDF в том же графике? - PullRequest
0 голосов
/ 20 марта 2019

Если только 1 строка, я могу построить, учиться снизу График Нормальное распределение с Matplotlib

Например, у меня есть панды, как показано ниже:

name,distance
Peter,13
Sam,14
Peter,15
Sam,12
Sam,13
Peter,14

С помощью df.groupby('name').describe() я могу отображать некоторые минимальные / максимальные / средние значения для каждого пользователя.

Однако я хочу нарисовать нормальную базу распределения на основе существующих данных. я пытался df.sort_values(by='name').groupby('name').plot()

но он не будет рисовать pdf или нормальный дистрибутив для него. Как я могу использовать NumPy для достижения этого

Спасибо

1 Ответ

0 голосов
/ 20 марта 2019

IIUC, вам нужно построить гистограмму distance для обоих значений name на одном графике.

import matplotlib.pyplot as plt
df = pd.DataFrame({'name':['Peter', 'Sam', 'Peter', 'Sam', 'Sam', 'Peter'],
         'distance':[13, 14, 15, 12, 13, 14]})

for name in df['name'].unique():      
  plt.hist(df.loc[df['name']==name, 'distance'], label=name)    
plt.legend();

enter image description here


UPDATE:

Как указано в комментариях к OP, их можно нарисовать без цикла for.

df.groupby('name').distance.plot.hist()
df.groupby('name').distance.plot.kde()

enter image description here

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