数据探索与数据预处理
一、实验目的
1.掌握数据探索的方法与技术。
二、实验环境
1.计算机一台。
2.Jupter Notebook。
三、实验内容
数据探索的过程并不简单。它涉及识别数据类型、转换数据类型、使用代码系统性提高数据质量为模型做准备的能力。
每当接触新数据集时,不论你是否熟悉它,在初次进行分析前回答以下问题都非常有必要。
- 数据是有组织格式的,还是无组织格式的?
- 我们需要确认数据是否是行列结构。大部分情况下,我们处理的数据都是结构化数据。
- 根据经验,如果数据是无组织格式的,我们需要将其转换为有组织的行列结构。
- 每一行代表什么?
- 一旦我们弄清楚了数据的组织形式,得到了行列结构的数据集,接下来就需要弄清楚每一行代表的意思。这一步通常不需要花费多少时间,却大有裨益。
- 每一列代表什么?
- 我们需要识别每一列的数据层次、定性/定量属性等。分类结果可能随着分析的不断深入而改变,但越早开始这一步越好。
- 是否有缺失值?
- 数据并不完美。很多时候,人工或机械的错误将导致数据缺失。当这种错误发生时,作为数据科学家,我们需要决定如何处理这些错误。
- 是否需要对某些列进行数据转换?
- 我们可能需要对某些列进行数据转换,当然,这取决于该列的数据层次和定性/定量属性。比如,为了使用统计模型和机器学习模型,数据集中的每一列都需要是数值型的。我们可以使用Python 对数据集进行转换。
我们的核心问题是:我们能从前期的推理统计中得到哪些信息?我们希望对数据的理解比初次接触时更深刻。
探索酒类消费数据(drinks1.csv)
酒类消费数据统计
字段名称 | 解释说明 |
country | 国家 |
beer_servings | 啤酒消费 |
spirit_servings | 烈酒消费 |
wine_servings | 红酒消费 |
total_litres_of_pure_alchol | 消费的纯酒精统计 |
continent | 大陆 |
注意:在完成实验的过程可以任意加cell
首先读取数据
## 写入代码 import pandas as pd drinks1=pd.read_csv(".\drinks1.csv") drinks1
193 rows × 6 columns
问题 1:数据是有组织格式的,还是无组织格式的?
无组织格式,缺少文本主题
问题 2:每一行代表什么?
每一行代表一个国家的酒类消费数据
问题 3:每一列代表什么?属于什么尺度数据?
第一列定类尺度数据
第二、七列定性尺度数据
第三、四、五、六列定距尺度数据
问题 4:是否有缺失值?
使用isnull 方法判断是否有缺失值。比如,对于名为awesome_dataframe的DataFrame 数据集,使用Python代码awesome_dataframe.isnull().sum()可显示每一列的缺失值总数。
当我们面对缺失值时,通常有两个选择:
删除含有缺失值的行;
尝试填充数据。
对含有缺失值的数据进行处理
drinks1.isnull().sum()
country 0 beer_servings 0 spirit_servings 2 wine_servings 2 total_litres_of_pure_alcohol 0 continent 23 dtype: int64
问题 5:是否需要对某些列进行数据转换?
我们想知道是否需要改变定量数据的数值范围!
不需要,因为每列的数据都符合定性或定量属性