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

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

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


13.1 数据分析基础

13.1.1 什么是数据分析?

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

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

13.1.2 安装必要的库

bash 复制代码
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 的数据库操作!📊📂

相关推荐
冷雨夜中漫步7 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
郝学胜-神的一滴7 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再7 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
李慕婉学姐7 小时前
【开题答辩过程】以《基于社交网络用户兴趣大数据分析》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
数据挖掘·数据分析
m0_736919109 小时前
C++代码风格检查工具
开发语言·c++·算法
喵手9 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
2501_944934739 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
helloworldandy9 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
黎雁·泠崖10 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
2301_7634724610 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法