如何从pandas数据帧创建相对频率的图形

时间:2017-02-15 10:44:37

标签: python python-3.x pandas matplotlib

我知道可以使用matplotlib.pyplot使用代码从pandas dataframe列创建直方图:

df.plot.hist(y='Distance')

创建如下图形:

Graph one

然而,我正在寻找的是相对频率的图,表示为总数的百分比。我还希望图表在300处有一个溢出区,这样它看起来像是: Graph two

1 个答案:

答案 0 :(得分:2)

试试这个:

orders = [{'number': 1029,'brand':'XPTO','qty':50},
      {'number': 3233,'brand':'ABCD','qty':50},
      {'number': 5455,'brand':'XPTO','qty':50},
      {'number': 1234,'brand':'ABCD','qty':50},
      {'number': 7654,'brand':'TXWZ','qty':50},
      {'number': 8765,'brand':'XPTO','qty':50},
      {'number': 4354,'brand':'TXWZ','qty':50},
      {'number': 9089,'brand':'XPTO','qty':50},
      {'number': 1031,'brand':'XPTO','qty':50}]
orders_df = pd.DataFrame(orders)
series = orders_df['brand'].value_counts() / len(orders_df)
indx = [0,1,2]
plt.bar(indx, series*100)
plt.ylabel('%')
plt.title('Relative fequency')
plt.xticks(indx, series.index)

Relative frequency