Python中的数据整理

2025年1月5日 | 阅读8分钟

数据科学是一项不断发展和壮大的技术和研究,旨在从数据中提取见解和趋势。它涉及多个步骤,包括数据整理、数据探索、分析、可视化、预测等。基本上,它始于数据收集、清理、处理、建模,然后是评估和可视化。

数据科学涉及处理具有人工智能、统计学和机器学习模型及算法的数据,这使得分析师和数据科学家能够从数据中获得惊人的事实和趋势。想象一下,就像在聚会前整理你的房间——数据收集、清理和处理是盛大数据科学庆典的准备工作。

在本文中,我们将探讨使用 Python 进行数据整理的过程。我们将学习 Python 为数据整理提供的各种库和方法。

详细探讨数据整理

在事实和技术知识领域,事物的本质在于对原始事实的审查,将其转化为有价值的信息,并从中分离出广泛的发现。第一步是从多个资源收集统计数据。记录整理的主题适用于信息获取、探索和日常考察。在可以开始分析之前,记录必须经过仔细处理。它必须被排序、准备并排列成一致且合乎逻辑的形状。

将数据整理视为艺术家在创作杰作数据分析之前清洁和准备原始数据调色板的重要性。这就像将粗糙的面料提炼成一件精美的艺术品——净化、验证和塑造数据,以便在评估过程中能够轻松地讲述其故事。这些策略包括管理缺失或独有的信息、调整结构以及消除重复条目。它并不完全局限于处理,而是将其理解扩展到可视化和各种模型的训练。努力确保数据尽可能准确、完整和一致,以便能够提取有意义的见解。

为什么要进行数据整理?

数据对分析很有用,但它需要被清理并可供分析人员使用。将原始数据转换为有用的格式以提取有用的见解是数据整理的主要目标,使其非常适合数据分析。数据整理在分析过程中需要大部分时间。

数据整理很有用,因为它清理了数据,对其进行了塑形,并消除了数据集中嘈杂、空值和重复的数据。它提高了数据的质量。它为数据提供了结构和含义。使记录更容易和更高效有助于在更少的时间内以更高的效率提取信息中的特征和见解。

Python 中的数据整理

Python,就像一个值得信赖的伙伴,在我们跨越的众多领域中陪伴我们,慷慨地提供其丰富的库宝库,让我们深入到数据技术领域。一些用于 Python 中数据整理的关键库是 NumPy、Pandas、Scikit-Learn、Matplotlib 和 Scipy。

  1. Numpy:Numpy 就像处理 Python 数组的巫师。它是您进行数字操作和执行各种统计魔术的首选。
  2. Pandas:这个库是 Python 中一个重要的库,它使用统计数据框。Pandas 库允许处理数据,包括清理、过滤和操作。
  3. Scikit-Learn:Scikit 库支持机器学习和数据建模,并用于构建回归、分类和聚类模型等机器学习算法。
  4. Matplotlib:这个数据可视化库用于制作简单且交互式的图表,以便于理解和分析。它使分析变得简单,因为数据被转换为图表。
  5. Scipy:它用于 Python 中的科学计算,包括统计功能、模型优化等。

数据整理涉及的步骤

数据整理是数据科学这个杰出分支中的一个重要概念,它提供了信息,从中提取见解和趋势。它不是一项小任务。这是一个庞大而复杂的过程,包含一系列步骤。让我们深入了解数据整理的杰出方法。数据收集是任何数据驱动项目的重要第一步。它包括从各种属性收集数据,包括数据库、调查和社交媒体平台。Pandas 库读取数据并从中形成一个数据框。在记录整理过程中,数据被清理、转换并准备好进行评估。数据整理结果是有序和结构化的记录,可用于更好的分析,以从信息中提取特征和见解并准确预测记录。记录可以以任何格式保存,包括 CSV、JSON 等。当我们使用 Pandas 库导入和查看记录时,它会创建一个数据框,允许我们将其转换为易于理解且直接可读的表格形式。 as we have imported and examined the records, we can play with the records and redesign them into some useful statistics.

代码

输出

	PassengerId	Survived	Pclass	Name	Sex	Age	SibSp	Parch	Ticket	Fare	Cabin	Embarked
0	1	0	3	Braund, Mr. Owen Harris	male	22.0	1	0	A/5 21171	7.2500	NaN	S
1	2	1	1	Cumings, Mrs. John Bradley (Florence Briggs Th...	female	38.0	1	0	PC 17599	71.2833	C85	C
2	3	1	3	Heikkinen, Miss. Laina	female	26.0	0	0	STON/O2. 3101282	7.9250	NaN	S
3	4	1	1	Futrelle, Mrs. Jacques Heath (Lily May Peel)	female	35.0	1	0	113803	53.1000	C123	S
4	5	0	3	Allen, Mr. William Henry	male	35.0	0	0	373450	8.0500	NaN	S

在这里,在导入必要的库之后,我们使用 read_csv() 函数读取 csv 数据文件。默认情况下,Pandas 库在读取数据时会创建一个数据框。然后,使用 head() 函数,它会打印出数据的前 5 条记录。

接下来的步骤是转换信息,通过清理使其更具吸引力且易于分析。在此过程中,会检查数据是否存在任何空值、缺失数据、重复条目以及任何格式错误的条目。通过使用 Pandas 库及其功能,可以检查这些参数。然后,使用 replace() 函数更改数据的处理方式。然后检查数据格式,如果不是,则将其转换为正确的格式。

代码

输出

(891, 12)

在转换和探索数据形状之前,了解其形状更为必要。使用 data.shape 特性,我们可以获得数据中的行数和列数,其中 data 是创建的数据框的名称。

代码

输出

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
 #   Column       Non-Null Count  Dtype  
---  ------       --------------  -----  
 0   PassengerId  891 non-null    int64  
 1   Survived     891 non-null    int64  
 2   Pclass       891 non-null    int64  
 3   Name         891 non-null    object 
 4   Sex          891 non-null    object 
 5   Age          714 non-null    float64
 6   SibSp        891 non-null    int64  
 7   Parch        891 non-null    int64  
 8   Ticket       891 non-null    object 
 9   Fare         891 non-null    float64
 10  Cabin        204 non-null    object 
 11  Embarked     889 non-null    object 
dtypes: float64(2), int64(5), object(5)
memory usage: 83.7+ KB

Pandas 库的 info() 方法提供了数据集中所有列的概览和信息,包括数据类型和非空值的计数。在此数据中,有 2 列存在空值。我们将处理这些空值。

代码

输出

	PassengerId	Survived	Pclass	Name	Sex	Age	SibSp	Parch	Ticket	Fare	Cabin	Embarked
0	False	False	False	False	False	False	False	False	False	False	True	False
1	False	False	False	False	False	False	False	False	False	False	False	False
2	False	False	False	False	False	False	False	False	False	False	True	False
3	False	False	False	False	False	False	False	False	False	False	False	False
4	False	False	False	False	False	False	False	False	False	False	True	False
...	...	...	...	...	...	...	...	...	...	...	...	...
886	False	False	False	False	False	False	False	False	False	False	True	False
887	False	False	False	False	False	False	False	False	False	False	False	False
888	False	False	False	False	False	True	False	False	False	False	True	False
889	False	False	False	False	False	False	False	False	False	False	False	False
890	False	False	False	False	False	False	False	False	False	False	True	False
891 rows × 12 columns

代码

replace() 函数用于替换任何行的空值。在这里,我们将 age 列的空值替换为 age 的平均值。

数据标准化是一项重要的程序,包括将所有形式的数据格式正确地转换为统一且一致的形式。这有助于消除数据中的任何不一致和差异,从而更容易进行分析和查看。此外,数据规范化是使数据准备好进行评估的关键步骤,该步骤涉及将数据值映射到零和至少一之间的标准化范围。这使得能够从数据中得出准确的比较和见解,可用于做出明智的决策和预测。

代码

输出

	PassengerId	Survived	Pclass	Age	SibSp	Parch	Fare
count	891.000000	891.000000	891.000000	714.000000	891.000000	891.000000	891.000000
mean	446.000000	0.383838	2.308642	29.699118	0.523008	0.381594	32.204208
std	257.353842	0.486592	0.836071	14.526497	1.102743	0.806057	49.693429
min	1.000000	0.000000	1.000000	0.420000	0.000000	0.000000	0.000000
25%	223.500000	0.000000	2.000000	20.125000	0.000000	0.000000	7.910400
50%	446.000000	0.000000	3.000000	28.000000	0.000000	0.000000	14.454200
75%	668.500000	1.000000	3.000000	38.000000	1.000000	0.000000	31.000000
max	891.000000	1.000000	3.000000	80.000000	8.000000	6.000000	512.329200

通过检查数据,可以揭示元素、模式和趋势,从而为影响结果的根本因素提供更好的数据。最终,这会导致更强大、更可靠的模型,可用于做出明智的选择。

数据整理还包括通过删除记录中不需要的列来过滤数据。

代码

在此,Parch 和 Fare 列已从数据集中删除。

总结数据整理,我们理解到它是在训练和评估模型之前收集、处理、转换和精炼数据的过程。它是数据科学中的一个重要概念,它完成了机器学习和人工智能的过程。