Python数据分析三剑客:NumPy、Pandas与Matplotlib安装指南与实战入门

Python数据分析三剑客:NumPy、Pandas与Matplotlib安装指南与实战入门

在这里插入图片描述


1. 引言

  • Python数据分析生态:NumPy、Pandas、Matplotlib是数据科学领域的核心工具链。
  • 适用场景:数值计算、数据处理、可视化分析(如金融分析、机器学习、科研绘图)。
  • 本文目标:快速掌握三大库的安装方法、核心功能及基础实战应用。

2. 环境安装与配置

安装方法(推荐使用pip):

# 安装最新版本
pip install numpy pandas matplotlib

# 验证安装
python -c "import numpy, pandas, matplotlib; print('安装成功!')"

注意:若安装缓慢,可使用国内镜像源(如-i https://pypi.tuna.tsinghua.edu.cn/simple)。


3. NumPy:高性能数值计算

核心功能:多维数组操作、数学函数、线性代数运算。

基础使用

import numpy as np

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

# 常用操作
print(arr.shape)                      # 数组形状 → (4,)
print(matrix.sum(axis=0))             # 按列求和 → [4 6]
print(np.arange(0, 10, 2))            # 类似range → [0 2 4 6 8]

# 数学运算
arr_sin = np.sin(arr)                 # 对每个元素求正弦
result = np.dot(matrix, matrix)       # 矩阵乘法 → [[7 10], [15 22]]

应用场景

  • 图像像素处理(多维数组操作)。
  • 科学计算(如傅里叶变换、随机数生成)。

4. Pandas:数据处理与分析

核心功能:表格数据(DataFrame)处理、数据清洗、统计分析。

基础使用

import pandas as pd

# 创建DataFrame
data = {"Name": ["Alice", "Bob"], "Age": [25, 30]}
df = pd.DataFrame(data)

# 数据读取与保存
df = pd.read_csv("data.csv")          # 读取CSV文件
df.to_excel("output.xlsx")            # 保存为Excel

# 数据处理
print(df.head(2))                     # 查看前两行
print(df["Age"].mean())               # 计算平均年龄 → 27.5
df_filtered = df[df["Age"] > 25]      # 过滤年龄>25的记录

# 数据清洗
df.dropna()                           # 删除缺失值
df.fillna(0)                          # 填充缺失值为0

应用场景

  • 数据清洗(处理缺失值、重复值)。
  • 时间序列分析(如股票数据滚动计算)。

5. Matplotlib:数据可视化

核心功能:绘制折线图、柱状图、散点图等,支持高度自定义样式。

基础使用

import matplotlib.pyplot as plt

# 折线图
x = [1, 2, 3, 4]
y = [10, 20, 15, 30]
plt.plot(x, y, label="Sales", color="blue", marker="o")
plt.xlabel("Month")                   # X轴标签
plt.ylabel("Revenue")                 # Y轴标签
plt.title("Monthly Sales Report")     # 图表标题
plt.legend()                          # 显示图例
plt.show()

# 柱状图
categories = ["A", "B", "C"]
values = [23, 45, 56]
plt.bar(categories, values)
plt.show()

# 多子图绘制
fig, axes = plt.subplots(2, 1)        # 2行1列的子图
axes[0].plot(x, y)
axes[1].scatter(x, y)                 # 散点图
plt.tight_layout()                    # 自动调整布局
plt.show()

应用场景

  • 生成实验数据图表(如论文插图)。
  • 实时数据监控仪表盘开发。

6. 实战案例:销售数据分析与可视化

目标:读取销售数据,统计各产品销量,绘制趋势图。

代码实现

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 1. 读取数据
df = pd.read_csv("sales_data.csv")

# 2. 数据清洗
df.dropna(inplace=True)  # 删除缺失值
df["Date"] = pd.to_datetime(df["Date"])  # 转换日期格式

# 3. 按产品统计月销量
monthly_sales = df.groupby([pd.Grouper(key="Date", freq="M"), "Product"])["Quantity"].sum().reset_index()

# 4. 绘制趋势图
products = monthly_sales["Product"].unique()
plt.figure(figsize=(10, 6))

for product in products:
    data = monthly_sales[monthly_sales["Product"] == product]
    plt.plot(data["Date"], data["Quantity"], label=product, marker="o")

plt.title("Monthly Sales Trends by Product")
plt.xlabel("Date")
plt.ylabel("Sales Quantity")
plt.legend()
plt.grid(True)
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

输出效果

  • 图表展示不同产品随时间变化的销量趋势,支持决策分析。

7. 总结与扩展学习

  • NumPy:数值计算基石,高效处理大规模数据。
  • Pandas:数据清洗与分析利器,支持复杂查询。
  • Matplotlib:可视化核心,可结合Seaborn美化图表。
  • 进阶方向
    • 机器学习(Scikit-learn)。
    • 交互式可视化(Plotly、Pyecharts)。
    • 大数据处理(PySpark)。

8. 常见问题QA

  • Q: 安装时报错“Permission denied”如何解决?
    A: 使用管理员权限运行命令(sudo pip install)或添加--user参数。

  • Q: Pandas读取Excel文件时提示缺失驱动?
    A: 安装openpyxl库:pip install openpyxl

  • Q: Matplotlib图表在Jupyter中不显示?
    A: 添加魔术命令%matplotlib inline(Jupyter Notebook环境)。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灏瀚星空

你的鼓励是我前进和创作的源泉!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值