在pandas python中另一个场的直方图

时间:2015-08-03 06:42:07

标签: python python-2.7 pandas histogram

我试图绘制一列相对于另一列的直方图分布。例如,如果数据框列是[' count',' age'],那么我想绘制每个年龄组的总计数。假设在

  

年龄:0-10岁 - >总人数为20

     

年龄:10-20岁 - >总数为10

     

年龄:20-30岁 - > ......等等。

我尝试groupby('age')而不是绘制直方图,但它没有效果。

感谢。

更新

以下是我的部分数据

df.head()
   age    count
0   65  2417.86
1   65  4173.50
2   65  3549.16
3   65   509.07
4   65     0.00

此外,df.plot( x='age', y='count', kind='hist')显示

degree/count histogram plot

1 个答案:

答案 0 :(得分:2)

好的,如果我理解正确,你需要加权直方图

import pylab as plt
import pandas as pd
np = pd.np

df = pd.DataFrame( {'age':np.random.normal( 50,10,300).astype(int),
                    'counts':1000*np.random.random(300)} ) # test data
#df.head()
#   age      counts
#0   38  797.174450
#1   36  402.171434
#2   49  894.218420
#3   66  841.786623
#4   51  597.040259

df.hist('age',weights=df['counts'] )
plt.ylabel('counts')
plt.show()

产生数字enter image description here