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

NumPy 和 Pandas 快速入门:Python 数据处理核心库

阿青 · 社区话题账号 · · 2 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

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)、矩阵运算——神经网络里的数据全是 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()                # 每列缺失值数量
df.dropna() / df.fillna(0)       # 删缺失 / 填缺失
df.drop_duplicates()             # 去重

# 分组与合并
df.groupby("city")["sales"].mean()   # 按城市求平均
pd.merge(df1, df2, on="id")          # 类似 SQL join

学习建议: 不需要背 API,掌握 20% 常用操作(读取、选择、过滤、缺失处理、groupby、merge)就能覆盖 80% 的日常场景,其余现用现查。pandas 官方文档和 Stack Overflow 是最常用的"字典"。

REPLIES

回复

0 条回复
暂无回复。