数据科学 - 数据准备
在分析数据之前,数据科学家必须提取数据,并将其清理并使其变得有价值。
使用 Pandas 提取和读取数据
在分析数据之前,必须导入/提取数据。
在下面的示例中,我们将向您展示如何使用 Python 中的 Pandas 导入数据。
我们使用 read_csv()
函数导入包含健康数据的 CSV 文件
示例
import pandas as pd
health_data = pd.read_csv("data.csv", header=0, sep=",")
print(health_data)
自己试试 »
示例解释
- 导入 Pandas 库
- 将数据帧命名为
health_data
。 header=0
表示变量名的标题在第一行中找到(注意,在 Python 中 0 表示第一行)sep=","
表示 "," 用于作为值之间的分隔符。这是因为我们使用的是 .csv 文件类型(逗号分隔值)
提示: 如果您有一个大型 CSV 文件,可以使用 head()
函数仅显示前 5 行
示例
import pandas as pd
health_data = pd.read_csv("data.csv", header=0, sep=",")
print(health_data.head())
自己试试 »
数据清理
查看导入的数据。如您所见,数据是“脏的”,包含错误或未注册的值
- 有一些空白字段
- 9 000 的平均脉搏是不可能的
- 由于空格分隔符,9 000 将被视为非数字
- 最大脉搏的一项观察结果表示为“AF”,这没有意义
因此,我们必须清理数据才能执行分析。
删除空白行
我们看到非数字值(9 000 和 AF)位于具有缺失值的同一行中。
解决方案:我们可以删除具有缺失观察结果的行来解决此问题。
当我们使用 Pandas 加载数据集时,所有空白单元格都会自动转换为“NaN”值。
因此,删除 NaN 单元格会为我们提供一个可以分析的干净数据集。
我们可以使用 dropna()
函数删除 NaN。axis=0 表示我们想要删除所有具有 NaN 值的行
结果是一个没有 NaN 行的数据集
数据类别
为了分析数据,我们还需要了解我们正在处理的数据类型。
数据可以分为两个主要类别
- 定量数据 - 可以用数字表示或可以量化。可以分为两个子类别
- 离散数据:数字按“整体”计数,例如班级中的学生人数,足球比赛中的进球数
- 连续数据:数字可以具有无限精度。例如,人的体重、鞋码、温度
- 定性数据 - 不能用数字表示,也不能量化。可以分为两个子类别
- 名义数据:例如:性别、头发颜色、种族
- 有序数据:例如:学校成绩(A、B、C)、经济状况(低、中、高)
通过了解数据的类型,您将能够了解在分析它们时使用什么技术。
数据类型
我们可以使用 info()
函数列出数据集中的数据类型:
结果
我们看到这个数据集包含两种不同类型的数据
- Float64
- 对象
我们不能使用对象在这里进行计算和执行分析。我们必须将对象类型转换为 float64(float64 是 Python 中带有小数点的数字)。
我们可以使用 astype()
函数将数据转换为 float64。
以下示例将“Average_Pulse”和“Max_Pulse”转换为 float64 数据类型(其他变量已经是 float64 数据类型)
示例
health_data["Average_Pulse"] = health_data['Average_Pulse'].astype(float)
health_data["Max_Pulse"] = health_data["Max_Pulse"].astype(float)
print (health_data.info())
自己试试 »
结果
现在,数据集仅包含 float64 数据类型。
分析数据
当我们清理了数据集后,就可以开始分析数据了。
我们可以使用 Python 中的 describe()
函数对数据进行总结
结果
持续时间 | 平均脉搏 | 最大脉搏 | 卡路里消耗 | 工作时间 | 睡眠时间 | |
---|---|---|---|---|---|---|
计数 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 |
平均值 | 51.0 | 102.5 | 137.0 | 285.0 | 6.6 | 7.5 |
标准差 | 10.49 | 15.4 | 11.35 | 30.28 | 3.63 | 0.53 |
最小值 | 30.0 | 80.0 | 120.0 | 240.0 | 0.0 | 7.0 |
25% | 45.0 | 91.25 | 130.0 | 262.5 | 7.0 | 7.0 |
50% | 52.5 | 102.5 | 140.0 | 285.0 | 8.0 | 7.5 |
75% | 60.0 | 113.75 | 145.0 | 307.5 | 8.0 | 8.0 |
最大值 | 60.0 | 125.0 | 150.0 | 330.0 | 10.0 | 8.0 |
- 计数 - 统计观察结果的数量
- 平均值 - 平均值
- 标准差 - 标准差(在统计章节中解释)
- 最小值 - 最低值
- 25%、50% 和 75% 是百分位数(在统计章节中解释)
- 最大值 - 最高值