使用Python进行数据分析和可视化

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

Python 是一种多功能编程语言,已成为数据分析和可视化领域的强大工具。在当今复杂的数据社会中,数据分析和可视化是数据科学过程中的重要组成部分。Python 提供了各种库和函数来处理数据,以及分析和可视化大量数据,从而生成可以帮助进行预测和推荐的高效模型。

本文将为您提供有关使用 Python 编程语言进行统计评估和可视化的深入信息。

关于数据分析

数据分析包括解码数据以发现见解和模式。它使组织能够做出明智的决策,了解市场趋势并预测未来结果。数据分析是数据科学的重要组成部分,有助于将原始数据转换为有用的信息。分析数据有助于更准确地构建模型,并能提供高度准确的结果。分析数据不仅仅是更改数据格式或清理数据;它还包括选择可用于构建预测或推荐模型的理想特征。

Python 在评估中发挥着关键作用,因为它拥有丰富的库环境和易用性,使专家能够高效地进行复杂分析。Python 为数据处理、统计评估和机器学习提供了一个灵活的环境,使其成为数据科学家和分析师的首选。

利用数据能力至关重要,而 Python 使这一过程变得简单。它丰富的库生态系统,如 Pandas、NumPy 和 Matplotlib,有助于数据处理、计算和可视化。

关于数据可视化

以表格形式分析数据并不总是容易的,因此,简化数据并选择有助于更好地理解数据的关键特征至关重要。为此的最佳方法是以不同图表和图形的形式可视化数据。它使我们能够更轻松、更准确地分析数据。因此,引入了数据可视化的概念。

数据可视化是数据科学中的另一个重要过程,它涉及通过图表、图形和其他视觉表示形式来呈现数据。Python 提供了 Matplotlib、Seaborn 和 Plotly 等库,使用户能够创建各种各样的可视化。这些可视化可以包括条形图、折线图、散点图、地图等。可视化有助于理解复杂数据、识别趋势并有效地与利益相关者沟通见解。

使用 Python 进行数据分析和可视化

Python 的多功能性使其在数据分析和可视化任务中广受欢迎。其用户友好的语法、广泛的库和强大的社区支持使其成为数据科学家、分析师和研究人员的理想选择。使用 Python,您可以高效轻松地分析和可视化数据,从而实现更好的决策并从数据集中提取有价值的见解。

用于数据分析的 Python 库

主要使用 Pandas 和 NumPy 进行数据分析。这两个库都用于处理数值数据。除了这些库之外,Python 还提供了 SciPy 库来实现相同目的。让我们深入了解这些库,以了解它们在数据分析中的用途和实现。

  • Pandas: Pandas 是 Python 中的一个数据分析库。它用于将数据存储在数据框(DataFrame)的形式中。它提供了大量函数和方法,可用于转换和调整数据,使其易于使用。数据可以是任何格式,如 csv、json、txt 等。它提供了用于计算数值数据的工具。

安装 Pandas 库

  • NumPy: NumPy 是 Python 中的一个库,用于使用各种统计函数计算数组。它被称为 Numerical Python,主要处理数组和矩阵中的数值数据。它提供了许多函数来评估数据源的统计信息。它提供了内置函数来处理数组操作。它的设计能够高效地处理复杂和大型数据集。

安装 NumPy 库

  • SciPy: 这个 Python 中的科学计算库用于执行优化、积分、代数、统计等数学运算。它被称为 Scientific Python。

安装 SciPy 库

Python 数据可视化库

Python 拥有种类繁多的库。它提供了各种数据可视化库,包括 Matplotlib 和 Seaborn。这两个库都用于创建交互式图表和绘图,以更有效地分析数据。数据可视化的目的是使数据更易于使用,并为模型提供更清晰的利用。让我们简要了解一下这些,以了解数据可视化。

  • Matplotlib: 这个 Python 库用于创建有趣且交互式的图表和绘图,使数据易于理解和分析。它可用于提取数据列之间的趋势和关系。

安装 Matplotlib 库

Pyplot 是 matplotlib 包的一个子模块,可提供有趣且美观的 2D 图。

  • Seaborn: 这是另一个用于绘制这些图表和图形的库。不同之处在于它提供了一个高级接口用于绘制统计图形。

安装 Seaborn 库

使用 Pandas 在 Python 中分析数据

使用 Pandas 创建数据框

代码

输出

	0	1	2	3	4
0	-1.749765	0.342680	1.153036	-0.252436	0.981321
1	0.514219	0.221180	-1.070043	-0.189496	0.255001
2	-0.458027	0.435163	-0.583595	0.816847	0.672721
3	-0.104411	-0.531280	1.029733	-0.438136	-1.118318
4	1.618982	1.541605	-0.251879	-0.842436	0.184519

使用 Pandas 处理数据

检查数据框中是否存在任何缺失数据

我们将创建另一个包含空值的数据框,并对其进行处理。

代码

输出

	n	m	p	o
0	1.55	9.00	1.0	2.0
1	2.00	NaN	4.0	8.5
2	NaN	0.55	9.0	0.0
3	2.20	NaN	NaN	NaN

代码

输出

	n	m	p	o
0	False	False	False	False
1	False	True	False	False
2	True	False	False	False
3	False	True	True	True

Pandas 库的 isna() 函数用于检查数据框中的缺失值。此数据框中存在一些空值。现在,我们将使用 Pandas 库的不同函数来处理这些值。

代码

输出

	n	m	p	o
0	1.55	9.0	1.0	2.0

dropna() 函数用于删除包含空值的列。作为输出,它返回所有非空值的列。

代码

输出

	n	m	p	o
0	1.55	9.00	1.0	2.0
1	2.00	NaN	4.0	8.5
2	NaN	0.55	9.0	0.0

在此,我们使用参数 thresh 的 dropna() 函数删除了第 3 列。

代码

输出

	n	m	p	o
0	1.550000	9.000	1.000000	2.0
1	2.000000	4.775	4.000000	8.5
2	1.916667	0.550	9.000000	0.0
3	2.200000	4.775	4.666667	3.5

fillna() 函数有助于将空值替换为任何其他值。我们将空值替换为其余值的平均值。

现在,我们将通过导入它来使用 Pandas 库分析大型数据集。

代码

使用 read_csv() 函数,我们可以加载存储在数据框中的数据集。

输出

Data Analysis and Visualization Using Python

代码

输出

(21802, 14)

Pandas 库的 shape 函数用于获取数据的形状(行数和列数)。

代码

输出

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 21802 entries, 0 to 21801
Data columns (total 14 columns):
 #   Column            Non-Null Count  Dtype  
---  ------            --------------  -----  
 0   Series_reference  21802 non-null  object 
 1   Period            21802 non-null  float64
 2   Data_value        18963 non-null  float64
 3   Suppressed        2839 non-null   object 
 4   STATUS            21802 non-null  object 
 5   UNITS             21802 non-null  object 
 6   Magnitude         21802 non-null  int64  
 7   Subject           21802 non-null  object 
 8   Group             21802 non-null  object 
 9   Series_title_1    21802 non-null  object 
 10  Series_title_2    21802 non-null  object 
 11  Series_title_3    21802 non-null  object 
 12  Series_title_4    0 non-null      float64
 13  Series_title_5    0 non-null      float64
dtypes: float64(4), int64(1), object(9)
memory usage: 2.3+ MB

info() 函数提供有关数据的详细信息,包括每列的数据类型和非空计数。

代码

输出

	Period	Data_value	Magnitude	Series_title_4	Series_title_5
count	21802.000000	1.896300e+04	21802.000000	0.0	0.0
mean	2016.786102	7.200201e+04	2.337309	NaN	NaN
std	3.490701	2.082260e+05	2.925958	NaN	NaN
min	2011.060000	1.187001e+00	0.000000	NaN	NaN
25%	2014.030000	1.851044e+03	0.000000	NaN	NaN
50%	2017.030000	1.405200e+04	0.000000	NaN	NaN
75%	2020.030000	6.008800e+04	6.000000	NaN	NaN
Max	2023.060000	2.289999e+0	6.000000	NaN	NaN

describe() 函数描述数据集,包括每列的相关性。

代码

输出

Data Analysis and Visualization Using Python

isna() 函数检查数据中的空值。

代码

drop() 函数有助于从数据集中删除列。

使用 Numpy 分析数据

输出

Mean: 2016.786102192459
Median: 2017.03
Standard Deviation: 208220.54002671133

使用 Numpy 函数,我们可以计算均值、中位数、标准差等统计函数。

使用 Matplotlib 和 Seaborn 进行数据可视化

使用 Matplotlib 进行散点图

输出

Data Analysis and Visualization Using Python

使用 Seaborn 进行条形图

输出

<Axes: xlabel='Period', ylabel='Data_value'>

Data Analysis and Visualization Using Python

使用数据可视化库,我们可以创建多种图表和图形,如条形图、散点图、折线图、热力图等。我们可以通过添加标签和标题、更改颜色等来定制数据的图形表示。