DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Python

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 是最常用的"字典"。

教程
REPLIES

回复

0 条回复
暂无回复。