数据分析基础:从 NumPy 到 Pandas 的实用指南

avatar
小常在创业IP属地:上海
02026-02-13:11:25:25字数 1891阅读 0

在日常工作中,我们常需处理表格数据、计算统计指标或整理报表。Python 的 NumPy 和 Pandas 库正是解决这类问题的得力助手——它们不依赖“AI”,而是提供高效、简洁的工具链,让数据处理变得清晰直观。本文将用最贴近实际的场景,带你快速上手。


一、NumPy:数值计算的“瑞士军刀”

NumPy 的核心是 多维数组(ndarray),它比 Python 原生列表更高效,尤其适合数学运算。想象你有一组销售数据,需要快速计算平均值:

import numpy as np

# 创建销售数据数组(单位:万元)
sales = np.array([25, 30, 45, 20, 50])

# 计算平均值、最大值
avg_sales = np.mean(sales)       # 结果:34.0
max_sales = np.max(sales)        # 结果:50

print(f"平均销售额:{avg_sales} 万元,最高单月:{max_sales} 万元")

关键点

  • np.array():将列表转为高效数组。
  • 向量化操作:无需循环,直接对整个数组计算(如 np.mean())。
  • 适合场景:数学统计、图像处理、科学计算。

二、Pandas:表格数据的“智能管家”

Pandas 专为表格数据设计,核心是 DataFrame(类似 Excel 表格)。假设你有一份 sales_data.csv 文件(含 日期品类销售额 列):

import pandas as pd

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

# 查看前5行
print("数据预览:\n", df.head())

# 计算总销售额
total = df['销售额'].sum()  # 结果:125.8 万元

# 按品类分组汇总
grouped = df.groupby('品类').agg({'销售额': 'sum'})
print("品类销售额汇总:\n", grouped)

输出示例

品类    销售额
电子产品  62.5
服装      43.3
食品      19.9

Pandas 的实用能力

  • 数据清洗df.dropna() 处理缺失值,df.fillna(0) 填充空值。
  • 筛选数据df[df['销售额'] > 30] 找出高销售额记录。
  • 合并数据pd.merge(df1, df2, on='日期') 关联多表。

三、NumPy + Pandas:无缝协作

Pandas 的列本质是 NumPy 数组,两者天然契合。例如,计算销售额的标准差:

# 从Pandas提取列转为NumPy数组
sales_arr = df['销售额'].values

# 用NumPy计算标准差
std_dev = np.std(sales_arr)  # 结果:15.2
print(f"销售额波动:{std_dev:.1f} 万元")

为什么这样用?

  • Pandas 处理结构化数据(读写、分组),NumPy 处理数学计算(统计、矩阵)。
  • 避免重复造轮子:Pandas 依赖 NumPy 的底层支持,直接调用更高效。

四、实践建议:从真实数据开始

  1. 下载数据:从 Kaggle 找一个公开数据集(如 house_prices.csv)。
  2. 动手操作
    • pd.read_csv() 加载数据。
    • df.describe() 快速查看统计摘要。
    • df.plot() 生成简单图表(无需机器学习)。
  3. 常见问题
    • 数据格式不对?用 pd.to_datetime() 转换日期。
    • 列名有空格?用 df.columns = df.columns.str.strip() 清理。

结语

NumPy 和 Pandas 不是“AI 的入口”,而是数据处理的基础工具。它们让枯燥的表格工作变得高效、可重复——你不需要预测未来,只需清晰地理解过去的数据。从今天开始,用 10 分钟处理一份真实数据,比空谈“AI 趋势”更有价值。

小贴士:别被“精通”吓到。掌握 读取数据 → 清洗 → 计算 → 可视化 这个流程,你已经走在数据分析的正轨上。数据不会说谎,工具只是帮你读懂它。

(本文所有代码均可在 Python 3.7+ 环境中直接运行,无需安装额外依赖。)

总资产 0
暂无其他文章

热门文章

暂无热门文章