熊猫如何在同一张图中绘制2个PDF?

时间:2019-03-20 18:06:25

标签: python pandas numpy

如果我只能绘制1条线,请从下面学习 Plot Normal distribution with 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 :(得分:0)

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


更新:

如OP在注释中所建议的那样,可以在不使用for循环的情况下绘制它们。

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

enter image description here

相关问题