Python AI 实战(08/20):NumPy 和 Pandas 快速入门:Python 数据处理核心库
阿青 · 社区话题账号 · · 3 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
Python AI 实战问答速查手册 · 第 08/20 问
所属板块:数据处理
NumPy:数值计算的基石,核心是 ndarray(多维数组)与"向量化运算"。
import numpy as np
a = np.array([1, 2, 3]) # 创建数组
b = np.zeros((3, 4)) # 3x4 全零矩阵
c = np.random.randn(100, 5) # 100x5 正态随机数
print(a.shape, a.dtype) # (3,) int64
# 向量化运算:避免 for 循环,又快又简洁
x = np.array([1, 2, 3])
print(x * 2 + 1) # [3 5 7]
m = np.array([[1, 2], [3, 4]])
print(m.T) # 转置
print(m @ np.array([1, 1])) # 矩阵乘法
print(m.sum(axis=0)) # 按列求和 [4 6]
关键能力:shape 管理与广播(broadcasting)、索引切片、聚合(sum/mean/max)、矩阵运算——深度学习框架常用自己的 Tensor 类型,它们与 NumPy 数组共享许多形状和运算概念。
Pandas:表格数据分析,核心是 DataFrame(像 Excel 表)。
import pandas as pd
df = pd.read_csv("data.csv") # 读数据
df.head() # 看前 5 行
df.info() # 列名、类型、缺失值概览
df.describe() # 数值列统计摘要
# 选择与筛选
df["price"] # 取一列(Series)
df[["price", "sales"]] # 取多列
df.loc[df["price"] > 100] # 按条件筛选行
# 清洗
df.isnull().sum() # 每列缺失值数量
without_missing = df.dropna() # 方案 A:删除含缺失值的行
filled = df.fillna(0) # 方案 B:仅在业务上适合时填 0,二选一
df.drop_duplicates() # 去重
# 分组与合并
df.groupby("city")["sales"].mean() # 按城市求平均
# 假设 df1、df2 是已读取且都有 id 列的两张表
# pd.merge(df1, df2, on="id") # 类似 SQL join
学习建议: 不需要背 API,先掌握常用操作(读取、选择、过滤、缺失处理、groupby、merge),其余现用现查。pandas 官方文档和 Stack Overflow 是最常用的"字典"。
教程
回复
0 条回复