文章目录
一、分布统计
- 某个特征下值的分布情况的可视化
- 检查特征的分布情况可以了解数据对象的很多特性
1、基于value_counts统计值的分布情况
value_count() 的参数:
- normalize : boolean, default False ,如果为True,则返回的对象将包含唯一值的相对频率。
- sort : boolean, default True , 按值排序
- ascending : boolean, default False , 按频率计数升序排序
- bins : integer, optional 而不是数值计算,把它们分成半开放的箱子,一个方便的pd.cut,只适用于数字数据
- dropna : boolean, default True , 不包括NaN的数量。
对数据进行预处理:
import numpy as np
import pandas as pd
import json
from pandas.io.json import json_normalize
import pyecharts as pe
from collections import Counter
op1=open(r'D:\python学习\数据分析与可视化数据\shoes.json', 'r',encoding='utf-8')
li=[]
dict1={
}
for i in op1:
k=json.loads(i.encode("utf-8"))#把字符串转换为json
li.append(k)
a=json_normalize(li)#把由json数据构成的列表转换成数据框
a.sales=a.sales.str.split("人",expand=True)[0]
a.sales = a.sales.astype(np.int64)#转换列的类型为整数
a.price = a.price.astype(np.float)
统计加排序:
from pyecharts.globals import ThemeType
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.charts import Line
p1 = a.price.value_counts()#按价格进行统计
p1
p1.sort_index(inplace=True)#对p1的索引进行排序,做线图需要排序
数据处理好后绘制图:
#排好序后,我吧索引作为x轴,值作为y轴
f1=Line().add_xaxis(p1.index.tolist()).add_yaxis("price", p1.tolist