【数据科学导论】实验七:数据探索与数据预处理
文章目录
- 数据探索与数据预处理
- 一、实验目的
- 二、实验环境
- 三、实验内容
- 探索酒类消费数据(drinks1.csv)
- 首先读取数据
- 问题 1:数据是有组织格式的,还是无组织格式的?
- 问题 2:每一行代表什么?
- 问题 3:每一列代表什么?属于什么尺度数据?
- 问题 4:是否有缺失值?
- 问题 5:是否需要对某些列进行数据转换?
- 文章目录
数据探索与数据预处理
一、实验目的
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
| country | beer_servings | spirit_servings | wine_servings | total_litres_of_pure_alcohol | continent | |
|---|---|---|---|---|---|---|
| 0 | Afghanistan | 0 | 0.0 | 0.0 | 0.0 | AS |
| 1 | Albania | 89 | 132.0 | 54.0 | 4.9 | EU |
| 2 | Algeria | 25 | 0.0 | 14.0 | 0.7 | AF |
| 3 | Andorra | 245 | 138.0 | 312.0 | 12.4 | EU |
| 4 | Angola | 217 | 57.0 | 45.0 | 5.9 | AF |
| ... | ... | ... | ... | ... | ... | ... |
| 188 | Venezuela | 333 | 100.0 | 3.0 | 7.7 | SA |
| 189 | Vietnam | 111 | 2.0 | 1.0 | 2.0 | AS |
| 190 | Yemen | 6 | 0.0 | 0.0 | 0.1 | AS |
| 191 | Zambia | 32 | 19.0 | 4.0 | 2.5 | AF |
| 192 | Zimbabwe | 64 | 18.0 | 4.0 | 4.7 | AF |
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:是否需要对某些列进行数据转换?
我们想知道是否需要改变定量数据的数值范围!
不需要,因为每列的数据都符合定性或定量属性
文章目录
| 序号 | 文章目录 | 直达链接 |
|---|---|---|
| 实验一 | 语法、变量和数据类型 | https://want595.blog.csdn.net/article/details/131396590 |
| 实验二 | 函数调用 | https://want595.blog.csdn.net/article/details/131397066 |
| 实验三 | 布尔变量与条件语句 | https://want595.blog.csdn.net/article/details/131397310 |
| 实验四 | 列表 | https://want595.blog.csdn.net/article/details/131397482 |
| 实验五 | 循环 | https://want595.blog.csdn.net/article/details/131397558 |
| 实验六 | 字符串与字典 | https://want595.blog.csdn.net/article/details/131397724 |
| 实验七 | 数据探索与数据预处理 | https://want595.blog.csdn.net/article/details/131474545 |
| 实验八 | 利用线形图可视化股票的走势 | https://want595.blog.csdn.net/article/details/128612047 |
| 实验九 | 线性回归与波士顿房价预测 | https://want595.blog.csdn.net/article/details/131398054 |
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
