Python的秘密基地--[章节13] Python 数据分析与可视化

news/2025/2/9 8:20:42 标签: python, 数据分析, 开发语言

第13章:Python 数据分析与可视化

在大数据时代,数据分析与可视化是至关重要的技能。Python 提供了多个强大的库,如 NumPyPandasMatplotlibSeaborn,用于数据处理、分析和可视化。本章将介绍如何使用 Python 进行数据分析,并通过可视化技术更直观地呈现数据。


13.1 数据分析基础

13.1.1 什么是数据分析

数据分析的主要流程包括:

  1. 数据收集:从数据库、API 或文件(CSV、Excel)获取数据。
  2. 数据清洗:处理缺失值、去除重复数据、格式化数据。
  3. 数据处理:计算统计值、转换数据格式。
  4. 数据可视化:使用图表直观展示数据。
  5. 数据建模与预测(高级部分)。

13.1.2 安装必要的库

pip install numpy pandas matplotlib seaborn

13.2 使用 NumPy 进行数值计算

NumPy(Numerical Python)是 Python 进行高效数值计算的核心库,提供强大的 数组(ndarray) 操作能力。

13.2.1 创建 NumPy 数组

python">import numpy as np

# 创建一维数组
arr = np.array([1, 2, 3, 4, 5])
print(arr)

# 创建 3x3 矩阵
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(matrix)

13.2.2 NumPy 常见操作

python"># 生成 0-9 的数组
arr = np.arange(10)
print(arr)

# 计算均值、标准差、最大值、最小值
print(arr.mean(), arr.std(), arr.max(), arr.min())

# 生成随机数
rand_arr = np.random.rand(3, 3)  # 生成 3x3 随机数矩阵
print(rand_arr)

13.3 使用 Pandas 进行数据处理

Pandas 提供了两种主要的数据结构:

  • Series:一维数组(类似列表)。
  • DataFrame:二维表格(类似 Excel)。

13.3.1 创建 Pandas 数据结构

python">import pandas as pd

# 创建 Series
s = pd.Series([1, 3, 5, 7, 9])
print(s)

# 创建 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'Salary': [5000, 7000, 9000]}
df = pd.DataFrame(data)
print(df)

13.3.2 读取 CSV 文件

python">df = pd.read_csv("data.csv")  # 读取 CSV 文件
print(df.head())  # 显示前 5 行数据

13.3.3 数据清洗

python"># 处理缺失值
df.dropna(inplace=True)  # 删除含 NaN 的行
df.fillna(0, inplace=True)  # 用 0 填充 NaN

# 删除重复数据
df.drop_duplicates(inplace=True)

# 数据类型转换
df['Age'] = df['Age'].astype(int)

# 数据筛选
df_filtered = df[df['Salary'] > 6000]  # 筛选工资大于 6000 的员工
print(df_filtered)

13.4 数据可视化

Python 提供了多个可视化库,最常用的是 MatplotlibSeaborn

13.4.1 使用 Matplotlib 进行基本绘图

python">import matplotlib.pyplot as plt

# 折线图
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 30, 40]
plt.plot(x, y, marker='o', linestyle='-', color='b')
plt.title("折线图示例")
plt.xlabel("X 轴")
plt.ylabel("Y 轴")
plt.show()

13.4.2 使用 Seaborn 进行高级绘图

Seaborn 是基于 Matplotlib 的高级绘图库,支持美观的数据可视化。

python">import seaborn as sns

# 加载示例数据集
df = sns.load_dataset("iris")

# 绘制散点图
sns.scatterplot(x="sepal_length", y="sepal_width", hue="species", data=df)
plt.show()

13.4.3 直方图

python">sns.histplot(df["sepal_length"], bins=20, kde=True)
plt.show()

13.4.4 相关性热图

python"># 计算数据相关性
corr = df.corr()

# 绘制热力图
sns.heatmap(corr, annot=True, cmap="coolwarm", linewidths=0.5)
plt.title("相关性热图")
plt.show()

13.5 机器学习中的数据预处理(入门)

数据分析的最终目标之一是为机器学习做准备,以下是常见的数据预处理技术:

13.5.1 归一化与标准化

python">from sklearn.preprocessing import StandardScaler, MinMaxScaler

scaler = StandardScaler()  # 标准化
df_scaled = scaler.fit_transform(df[["sepal_length", "sepal_width"]])
python">scaler = MinMaxScaler()  # 归一化
df_scaled = scaler.fit_transform(df[["sepal_length", "sepal_width"]])

13.5.2 独热编码(One-Hot Encoding)

python">df = pd.get_dummies(df, columns=["species"])
print(df.head())

13.6 小结

本章介绍了:

  1. NumPy 进行高效数值计算。
  2. Pandas 进行数据处理和清洗。
  3. Matplotlib 和 Seaborn 进行数据可视化。
  4. 数据预处理,为机器学习建模做好准备。

下一章,我们将深入探讨 Python 的数据库操作!📊📂


http://www.niftyadmin.cn/n/5845823.html

相关文章

FPGA高端项目:图像采集+UltraScale GTH光编码+UDP图传架构,高速接口转网络视频传输,提供工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目我这里已有的 GT 高速接口解决方案我这里已有的以太网方案 3、工程详细设计方案工程设计原理框图输入Sensor之-->OV5640摄像头动态彩条视频数据组包基于UltraScale…

SpringBoot3与MyBatis-Plus

4.1 介绍 MyBatis-Plus(简称 MP)是一个基于 MyBatis 的增强工具,提供通用 CRUD 操作、代码生成器、条件构造器、分页插件等功能,简化开发流程,提升效率。 4.2 特点 无侵入:只做增强不做修改,与…

ssti学习笔记(服务器端模板注入)

目录 一,ssti是什么 二,原理 所谓模板引擎(三列,可滑动查看) 三,漏洞复现 1,如何判断其所属的模板引擎? 2,判断清楚后开始注入 (1)Jinja2&a…

MySQL第五次作业

根据图片内容完成作业 1.建表 (1)建立两个表:goods(商品表)、orders(订单表) mysql> create table goods( -> gid char(8) primary key, -> name varchar(10), -> price decimal(8,2), -> num int); mysql> create t…

Oracle Database Free版本的各项许可限制

Oracle Database Free版本的各项许可限制: 限制类型描述具体限制可能的错误信息CPU限制Oracle Database Free自动限制最多使用两个CPU核心进行处理最多2个CPU核心无特定错误信息,但性能受限安装和运行时限制每个逻辑环境中只能安装一次Oracle Database …

瑞芯微 Rockchip 系列 RK3588 主流深度学习框架模型转成 rknn 模型教程

前言 在瑞芯微 Rockchip 芯片上进行 NPU 推理,需要先将模型文件转换成 rknn 模型文件,才能执行各种推理任务。本文将介绍如何安装各种工具,并最终实现将各种深度学习框架的模型文件转换成 rknn 文件。 本教程不仅适合 RK3588 平台&#xff…

WebStorm设置Vue Component模板

下载vue.js插件 下面有模板样例 Composition API:这是 Vue 3 的一项新特性,允许通过 setup 函数来组织组件逻辑。Options API:这是 Vue 2 和 Vue 3 都支持的传统方式,通过定义组件的 data、methods、computed 等来组织逻辑。 Comp…

PM2 与 Docker 结合使用:Node.js 应用的高效管理与部署

在现代 Web 开发中,Node.js 应用的部署和管理至关重要。为了确保应用的高可用性和性能,开发者常常采用 PM2(进程管理工具)和 Docker(容器化平台)的结合方案。本文将详细介绍 PM2 的功能、Docker 的优势&…