Python数据分析与挖掘实战学习笔记

本文介绍了Python在数据质量分析中的应用,如使用箱形图和数据离散化方法(等宽法、等频法、聚类分析)。还探讨了主成分分析和回归分析(逻辑回归、决策树)在实战中的运用,特别提到了决策树图形化的注意事项,包括Graphviz的使用和解决BOM导致的解析错误问题。最后提到了聚类算法在数据挖掘中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

###3.1数据质量分析
箱形图

import pandas as pd #导入pandas库

catering_sale='D:/YF_test/catering_sale.xls' #餐饮数据目录位置
data=pd.read_excel(catering_sale,index_col='日期')  #读取数据,指定日期列为索引

import matplotlib.pyplot as plt #导入图库
plt.rcParams['font.sans-serif']=['SimHei'] #用来显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来显示负号

plt.figure() #建立图像
p = data.boxplot(return_type='dict') #画箱线图,直接使用DataFrame的方法,书上方法报错,
                                     #产生的原因可能是没有指定p的类型,导致下面不能获取指定的下标
x = p['fliers'][0].get_xdata() #'fliers'即为异常值的标签
y = p['fliers'][0].get_ydata()
y.sort() #从大到小排序,该方法直接改变原对象

#用annotate添加注释
for i in range(len(x)):
    if i>0:
        plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.05-0.8/(y[i]-y[i-1]),y[i]))
    else:
        plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.8,y[i]))
plt.show()

3.2.5

data[‘sum_Times’]=data[‘Times’].groupby([‘userID’]).cumsum()
data.loc[data.isnull().T.any() ]

4.3.3连续属性离散化

等宽法、等频法、基于聚类分析的方法
代码:

#-*-coding: utf-8 -*-
#数据标准化
import pandas as pd

datafile='d:/YF_test/discretization_data.xls' #数据初始化
data=pd.read_excel(datafile)  #读取数据
data1=data['肝气郁结证型系数'].copy()  #复制一列数据
k=4

d1 = pd.cut(data1, k, labels= range(k)) #等宽离散化,各个类别依次命名为0,1,2 保存的是index 的分类

#等频离散化
w = [1.0*i/k for i in range(k+1)]  #创建一个列表,确定分位数0%,25%,50%,75%,100%
w=data1.describe(percentiles=w)[4:4+k+1] #利用describe函数计算分位数,取出分位数
w[0]=w[0]*(1-1e-10)  #保证小于最小值
d2=pd.cut(data1,w,labels=range(k)) 

#基于聚类分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值