Python中的数据操作

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

Python 强大的库和集成的语法使其成为数据处理的流行语言。本文将探讨在 Python 中高效处理和读取数据的卓越方法、库和最佳实践。

引言

数据处理是数据科学和机器学习中的一项任务,它读取、转换、训练、评估并从数据中提取有价值的信息以进行分析和预测。它是机器学习中构建模型时需要了解的关键步骤之一。它追求高效、快速的数据转换,以获得更好的评估。它包括更改和重塑数据以提取有意义的见解。在 Python 中,此过程得到了简化,能够无缝处理各种大小和复杂性的数据集。

数据处理只是为训练、测试和预测阶段准备数据的过程。数据处理包括加载、清理、过滤、格式化、分组、合并、删除等过程。

Python 因其轻松处理数据的能力和多功能性而成为数据分析师和科学家的热门选择。Python 完整的库和框架集使分析师能够对数据执行复杂的操作,从而使他们能够做出更快、更明智的决策。凭借 Python 的功能,分析师可以深入研究数据,揭示可能被忽略的见解。

Python 提供了一系列用于执行不同功能的库。对于数据处理,Pandas 和 Numpy 可用于 Python 中的数据处理。这两个库都提供了用于执行不同数据处理方法的各种功能。

Pandas 是一个用于数据分析和信息处理的 Python 开源库。它代表 Panel Data,用于数据处理和分析。使用 pandas 库的主要目的是将非结构化数据转换为数据框,并对其进行处理以创建结构化数据并从原始数据中提取有价值的信息。Pandas 可用于处理缺失数据、通过添加新行和列进行转换,以及更多功能。

在 Python 中安装 Pandas

可以使用 Python 中的 pip 命令安装 pandas

在实现之前,我们需要导入库

Numpy 是 Python 中另一个有趣且出色的库,用于处理数组和矩阵。它提供了多种用于数据处理的统计函数。

在 Python 中安装 Numpy

在使用它进行数据处理之前,我们需要导入此库

是时候深入了解数据处理的过程及其在 Python 中的实现。

了解 Pandas 和将数据框导入 Python

DataFrame 是一种数据结构,用于以表格形式存储数据,其中包含分类的行和列。数据框使数据易于访问和控制。让我们使用 Pandas 库在 Python 中创建数据框。

输出

	Emp_ID	Name	Dept
0	101	Rim	ML
1	102	Pol	DS
2	103	Max	CS
3	109	Lim	HR
4	107	Alex	CS
5	202	Rex	HR
6	234	Mary	Accounts
7	124	Tim	Marketing
8	220	Sam	Sales

使用 pd.DataFrame() 函数,我们创建了一个数据框并在其中添加了不同员工的数据。作为输出,它提供了带有列标签的数据表。

我们已经了解了如何使用 pandas 库创建数据框。我们还可以对大型数据集执行数据处理。我们在这里使用一个基于超市销售的 csv 文件。首先,我们将使用 pandas 库读取数据集。然后,我们将探索数据集并尝试使用 pandas 库提供的不同功能进行处理。

让我们探索数据处理的功能

我们将首先加载数据集

输出

Data Manipulation in Python

我们已经加载了一个数据集。第一步是了解数据集。我们将使用 shape、description 和 info 等不同函数来了解数据的基础结构和深入结构。此外,我们可以获取数据集的相关矩阵来了解其基本统计信息。

输出

(1000, 17)

它给出了数据框的形状,即列和行的数量。

输出

	Unit price	Quantity	Tax 5%	Total	Unnamed: 10	cogs	gross margin percentage	gross income	Rating
count	1000.000000	1000.000000	1000.000000	1000.000000	0.0	1000.00000	1.000000e+03	1000.000000	1000.00000
mean	55.672130	5.510000	15.379369	322.966749	NaN	307.58738	4.761905e+00	15.379369	6.97270
std	26.494628	2.923431	11.708825	245.885335	NaN	234.17651	6.131498e-14	11.708825	1.71858
min	10.080000	1.000000	0.508500	10.678500	NaN	10.17000	4.761905e+00	0.508500	4.00000
25%	32.875000	3.000000	5.924875	124.422375	NaN	118.49750	4.761905e+00	5.924875	5.50000
50%	55.230000	5.000000	12.088000	253.848000	NaN	241.76000	4.761905e+00	12.088000	7.00000
75%	77.935000	8.000000	22.445250	471.350250	NaN	448.90500	4.761905e+00	22.445250	8.50000
max	99.960000	10.000000	49.650000	1042.650000	NaN	993.00000	4.761905e+00	49.650000	10.00000
It gives a brief description of the data set, including the correlation.
data.info()

输出

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1000 entries, 0 to 999
Data columns (total 17 columns):
 #   Column                   Non-Null Count  Dtype  
---  ------                   --------------  -----  
 0   Invoice ID               1000 non-null   object 
 1   Branch                   1000 non-null   object 
 2   City                     1000 non-null   object 
 3   Customer type            1000 non-null   object 
 4   Gender                   1000 non-null   object 
 5   Product line             1000 non-null   object 
 6   Unit price               1000 non-null   float64
 7   Quantity                 1000 non-null   int64  
 8   Tax 5%                   1000 non-null   float64
 9   Total                    1000 non-null   float64
 10  Unnamed: 10              0 non-null      float64
 11  Time                     1000 non-null   object 
 12  Payment                  1000 non-null   object 
 13  cogs                     1000 non-null   float64
 14  gross margin percentage  1000 non-null   float64
 15  gross income             1000 non-null   float64
 16  Rating                   1000 non-null   float64
dtypes: float64(8), int64(1), object(8)
memory usage: 132.9+ KB

数据过滤和选择

我们可以使用 pandas 库的 drop() 函数删除数据列。

也可以使用相同的方法删除多列。

输出

Data Manipulation in Python

我们可以使用 Python 中的 rename() 函数更改数据框中列的名称。

输出

Data Manipulation in Python

我们可以按数据类型访问一些选定的列。

输出

	Unit price	Tax 5%	Total	cogs	gross margin percentage	gross income	Rating
0	74.69	26.1415	548.9715	522.83	4.761905	26.1415	9.1
1	15.28	3.8200	80.2200	76.40	4.761905	3.8200	9.6
2	46.33	16.2155	340.5255	324.31	4.761905	16.2155	7.4
3	58.22	23.2880	489.0480	465.76	4.761905	23.2880	8.4
4	86.31	30.2085	634.3785	604.17	4.761905	30.2085	5.3
...	...	...	...	...	...	...	...
995	40.35	2.0175	42.3675	40.35	4.761905	2.0175	6.2
996	97.38	48.6900	1022.4900	973.80	4.761905	48.6900	4.4
997	31.84	1.5920	33.4320	31.84	4.761905	1.5920	7.7
998	65.82	3.2910	69.1110	65.82	4.761905	3.2910	4.1
999	88.34	30.9190	649.2990	618.38	4.761905	30.9190	6.6
1000 rows × 7 columns

我们可以访问数据集列中的一些选定的数据。

输出

0    13:08
1    10:29
2    13:23
3    20:33
4    10:37
5    18:30
6    14:36
7    11:38
8    17:15
9    13:27
Name: Time, dtype: object

在这里,我们切片了数据集,并访问了数据集中第 8 列(时间)的前 10 条记录。

数据可以根据任何特定的数据列进行分组。数据分组使数据易于分类和高效分析。这可以通过 pandas 库在 Python 中提供的 groupby() 函数来完成。

输出

	Quantity
Product line	
Electronic accessories	170
Fashion accessories	178
Food and beverages	174
Health and beauty	152
Home and lifestyle	160
Sports and travel	166

在这里,我们按计数对产品线进行了分组。作为输出,它给出了所有产品及其总计数。

我们可以通过分组对列执行不同的统计函数,例如均值、平均值等。

输出

	Total
Product line	
Electronic accessories	319.632538
Fashion accessories	305.089298
Food and beverages	322.671517
Health and beauty	323.643020
Home and lifestyle	336.636956
Sports and travel	332.065220

在这里,我们计算了产品线总计的平均值。

输出

	Quantity
Customer type	
Member	501
Normal	499

在这里,我们计算了不同客户类型进行的销售次数。

输出

	Payment
Payment	
Cash	344
Credit card	311
Ewallet	345

此处,计算了使用不同支付方式进行的销售次数。

分组通过计算数据列中的任何聚合函数来帮助从数据中提取见解。它给出了两列或多列之间的关系。

总结 Python 中的数据处理

数据处理是一种转换和处理数据以准备训练、测试和预测的方法。它有助于从原始数据中提取有价值的数据。它还绘制了不同列之间的关系,以提供数据之间简要的统计关系。