Python3数据分析与挖掘建模(3)探索性数据分析

1. 概述

探索性数据分析(Exploratory Data Analysis,EDA)是一种数据分析的方法,用于探索和理解数据集的特征、关系和分布等。EDA旨在揭示数据中的模式、异常值、缺失值等信息,并为后续的分析和建模提供基础。以下是关于探索性数据分析的一些重要概念和方法:

(1)数据摘要:通过计算描述性统计量,如均值、中位数、标准差、最小值、最大值等,对数据集的特征进行摘要和总结。这些统计量可以帮助了解数据的中心趋势、离散程度和分布情况。

(2)数据可视化:利用图表、图形和可视化技术,将数据以直观的方式展示出来。常用的可视化方法包括直方图、箱线图、散点图、折线图等。通过数据可视化,可以发现数据的分布、趋势、异常值和关系等特征。

(3)缺失值处理:探索性数据分析中常常需要处理缺失值。可以通过计算缺失值的数量和比例来了解数据缺失的情况,并根据具体情况选择合适的方法进行处理,如删除缺失值、填充缺失值等。

(4)异常值检测:通过观察数据的分布和统计指标,识别可能存在的异常值或离群点。异常值可能是数据采集或记录错误,或者表示了潜在的特殊情况。在探索性数据分析中,可以使用箱线图、散点图等方法来辅助异常值检测。

(5)变量之间的关系探索:通过相关性分析、散点图矩阵、热力图等方法,探索不同变量之间的关系。这可以帮助了解变量之间的相关性、依赖关系和影响因素。

探索性数据分析是数据分析的重要环节,它可以帮助熟悉数据、发现数据中的规律和异常,为后续的数据建模、特征工程和推断性分析提供基础。在进行探索性数据分析时,需要充分利用统计和可视化工具,同时保持灵活性和开放性的思维,以发现潜在的数据洞察和问题。

2. 探索性数据分析(单因子与对比分析)可视化

在探索性数据分析中,可以使用单因子分析和对比分析来探索数据,并通过可视化方法呈现结果。下面是一些常用的可视化技术和图表,适用于单因子和对比分析:

2.1 单因子分析可视化:

(1)直方图:将数据按照不同的区间进行分组,并用矩形条表示每个区间的频数或频率。直方图可以显示数据的分布情况和形状。

(2)箱线图:通过五数概括(最小值、下四分位数、中位数、上四分位数、最大值),展示数据的中心趋势和离散程度。箱线图还可以显示异常值和离群点。

 (3)密度图:通过在数据分布曲线下方填充面积,展示数据的概率密度。密度图可以显示数据的分布形态和峰值。

 (4)折线图:将数据按照顺序和连线方式展示,可以显示数据的变化趋势和趋势方向。

2.2 对比分析可视化:

(1)柱状图:用垂直或水平的矩形条表示不同类别或组别的数据,并可比较它们之间的差异。柱状图常用于对比不同组别的数据。

 (2)帕累托图:将数据按照贡献程度排序,并用累积百分比的折线图展示。帕累托图可以帮助确定主要因素或贡献最大的类别。

 (3)散点图:用二维坐标轴表示两个变量的关系,并以散点的形式展示数据点。散点图可以用于比较两个变量之间的关系和趋势。

 (4)雷达图:以多个坐标轴表示不同变量,通过将数据点连接起来形成多边形区域,展示多个变量之间的对比关系。雷达图适用于多维度的对比分析。

以上是常见的可视化方法,可以根据具体情况和数据特点选择合适的图表进行探索性数据分析。这些可视化方法能够直观地呈现数据,帮助发现数据中的规律、异常和差异,并为进一步分析和决策提供参考。

3. 数据示例

数据源文件:

 读取数据流程

import pandas as pd
# 读取数据
df=pd.read_csv("data/HR.csv")
# 设置显示选项,将最大列数设置为None,以显示所有列
pd.set_option('display.max_columns', None)
# 使用head()查看DataFrame
df.head(10)
Out[6]: 
   satisfaction_level  last_evaluation  number_project  average_monthly_hours   
0                0.38             0.53               2                    157  \
1                0.80             0.86               5                    262   
2                0.11             0.88               7                    272   
3                0.72             0.87               5                    223   
4                0.37             0.52               2                    159   
5                0.41             0.50               2                    153   
6                0.10             0.77               6                    247   
7                0.92             0.85               5                    259   
8                0.89             1.00               5                    224   
9                0.42             0.53               2                    142   
   time_spend_company  Work_accident  left  promotion_last_5years department   
0                   3              0     1                      0      sales  \
1                   6              0     1                      0      sales   
2                   4              0     1                      0      sales   
3                   5              0     1                      0      sales   
4                   3              0     1                      0      sales   
5                   3              0     1                      0      sales   
6                   4              0     1                      0      sales   
7                   5              0     1                      0      sales   
8                   5              0     1                      0      sales   
9                   3              0     1                      0      sales   
   salary  
0     low  
1  medium  
2  medium  
3     low  
4     low  
5     low  
6     low  
7     low  
8     low  
9     low  

通过调用pd.set_option('display.max_columns', None),将display.max_columns选项设置为None,可以显示所有列。然后使用print(df.head())打印DataFrame,将会显示所有列的数据。

注意:当DataFrame具有很多列时,可能会导致输出结果在控制台中显示不全,因为控制台有一定的宽度限制。在这种情况下,你可以使用水平滚动条或将结果导出到文件中来查看完整的列数据。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值