pyecharts分佈統計圖

鞋的價格爲99 買的人數爲1001人 鞋的價格爲199 買的人數爲101人 鞋的價格爲299 買的人數爲11人,將這些關係用圖呈現

數據爲json格式,可以下載數據,看源數據是什麼樣子
數據鏈接

import numpy as np
from pyecharts import options as opts
import json
from pandas.io.json import json_normalize

op1 = open(r'E:\study\Pyecharts\shoes.json', 'r', encoding='utf-8')
li=[]
for i in op1:
    k=json.loads(i.encode("utf-8"))  # 把字符串轉換爲json
    li.append(k)
a=json_normalize(li)  # 把由json數據構成的列表轉換成DataFrame     json_normalize:扁平化

a.sales=a.sales.str.split("人",expand=True)[0]  # 源數據 "1583人付款"
a.sales = a.sales.astype(np.int64)  # 轉換列的類型爲整數
a.price = a.price.astype(np.float)  # "159.00" 價格爲str類型,轉換爲float類型
x=[]
y=[]
y,x=np.histogram(a.price.values,np.linspace(a.price.min(),700,50),weights=a.sales.values)  # 加權統計 參考以下的例子

f1=Line().add_xaxis(x.tolist()).add_yaxis("sum_people", [0]+y.tolist(),is_smooth=True)  # 參考以下的例子
f1.set_global_opts(title_opts=opts.TitleOpts(title="意爾康男鞋分析"),
                   xaxis_opts=opts.AxisOpts(type_="value"),
                  datazoom_opts=opts.DataZoomOpts(is_show=True))
f1.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
f1.render_notebook()

x軸爲價格 y軸爲人數
在這裏插入圖片描述

histogram用法

# -*- codeing = utf-8 -*-
import numpy as np


a = [88, 99, 188, 199, 288, 299, 388, 399, 488, 499]
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
x = []
y = []
y, x = np.histogram(a, np.linspace(0, 500, 6), weights=b)  # 加權統計
print(y)
print("**********************")
print(x)

運行結果

[ 3  7 11 15 19]
**********************
[  0. 100. 200. 300. 400. 500.]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章