Python-数据分箱和可视化

直方图与分箱

数据分箱(Data binning)bucketing-数据分段 数据分组

无监督分组,有监督分组
   等距分箱
   等频分箱
      等距     pandas.cut 根据指定分界点对连续数据进行分箱处理
      等频     pandas.qcut 根据指定箱子的数量对连续数据进行等宽分箱处理  分位数进行分区的
	  np.digitize():主要用于将一组数据进行分区。
      np.quantile(df['a'],bins) #返回值为各个分位数的具体值
	  标量序列,分区的依据,bins内的数据一定要是降序或者升序的数据,不能是一堆无序数据
	  
   卡方分箱

直方图(Histogram)

 Histogram 是一种图示分布频率(或百分比)的图形,它将数值分布表示为一系列垂直条形。直方图可以帮助我们了解一组数据的分布形态和常见取值范围

分步骤绘制直方图

1.数据分箱

 分箱是一种常见的数据预处理技术,有时也被称为 分桶或 离散化,可用于将连续数据的间隔分组到“箱”或“桶”中
    cut也可以将值分类为离散的间隔。此函数对于从连续变量到分类变量很有用。cut的参数如下
	qcut可以根据排名或基于样本分位数将变量离散为大小相等的桶
bins = np.linsoace(0,10,10)
digitized= np.digitize(data,bins)

2.统计频次

### np.unique() 函数 去除其中重复的元素 ,并按元素 由小到大 返回一个新的无元素重复的元组或者列表
#numpy.unique(arr, return_index, return_inverse, return_counts) return_counts:如果为 true,返回去重数组中的元素在原数组中的出现次数
import numpy as np
myarray = np.array([1, 2, 2, 3, 3, 3])
values, counts = np.unique(myarray, return_counts=True)
print(dict(zip(values, counts)))

3.绘图

 plt.hist(myarray, color='green')
  plt.show()

直接分箱-可视化

import matplotlib.pyplot as plt
import numpy as np
 
data = np.random.normal(170, 10, 250)
plt.hist(data, bins= 20, color='green')
plt.show()
posted @ 2023-09-26 13:24  辰令  阅读(224)  评论(0编辑  收藏  举报