数据分析必备:NumPy + Pandas 核心知识点全梳理

张开发
2026/4/12 1:33:14 15 分钟阅读

分享文章

数据分析必备:NumPy + Pandas 核心知识点全梳理
在 Python 数据分析领域NumPy 负责底层数值计算Pandas 负责表格数据处理二者是黄金搭档。NumPy 提供高性能数组Pandas 提供真正的数据分析能力读取、清洗、筛选、分组、聚合、时间序列……这篇文章一次性把NumPy Pandas 最核心知识点全部整理好让你一篇学会数据分析基础。一、NumPy 核心知识点ndarray 是多维、同类型、连续内存的数组运算速度远超列表。常用属性import numpy as np arr np.array([[1,2,3],[4,5,6]]) arr.shape # 形状 (2,3) arr.ndim # 维度 2 arr.dtype # 类型 int64 arr.size # 元素总数 6 arr.T # 转置2. 数组创建方式高频np.array([1,2,3]) np.zeros((3,4)) np.ones((2,5)) np.full((2,2), 10) np.arange(0,10,2) np.linspace(0,1,5) np.random.rand(3,2) # 0~1 np.random.randn(3,3) # 正态分布 np.random.randint(0,10,(2,4))3. 索引、切片、筛选arr1d np.array([0,1,2,3,4]) arr1d[1:4] arr2d np.array([[1,2,3],[4,5,6],[7,8,9]]) arr2d[0,1] arr2d[:,1] arr2d[arr2d 5] arr2d[(arr2d3) (arr2d8)]4. 形状操作arr.reshape(3,4) arr.flatten() # 展平 arr.ravel() # 视图更快 np.hstack((a,b)) # 横向拼接 np.vstack((a,b)) # 纵向拼接5. 向量化运算NumPy 速度核心a b a * 10 np.exp(a) np.log(a) np.sin(a)6. 广播机制不同形状数组自动补齐实现运算a np.array([1,2,3]) b np.array([10]) a b7. 统计函数np.sum(arr) np.mean(arr) np.max(arr) np.std(arr) np.median(arr) np.sum(arr, axis0) # 按列 np.sum(arr, axis1) # 按行8. 缺失值处理np.isnan(arr) np.nanmean(arr) arr[np.isnan(arr)] 0二、Pandas 核心知识点数据分析真正主力1. Pandas 两大核心对象Series带索引的一维数据DataFrame表格型二维数据行 列import pandas as pd s pd.Series([1,2,3,4]) df pd.DataFrame({ name: [A,B,C], age: [20,25,30], score: [80,90,85] })2. 数据读取最常用df pd.read_csv(data.csv) df pd.read_excel(data.xlsx) df pd.read_json(data.json)3. 快速查看数据df.head() df.tail() df.info() df.describe() df.shape df.columns df.dtypes df.isnull().sum()4. 数据选择行列筛选选列df[age] df[[age,score]]选行按索引 / 位置df.loc[0] df.iloc[0:3]条件筛选df[df[age] 25] df[(df[age]20) (df[score]80)]5. 数据清洗必备缺失值df.isnull().sum() df.dropna() df.fillna(0) df.fillna(df.mean())重复值df.duplicated().sum() df.drop_duplicates()替换值df.replace(old,new)6. 新增、修改、删除列df[new_col] df[age] * 2 df.drop(col, axis1, inplaceTrue)7. 分组聚合数据分析核心df.groupby(name)[score].mean() df.groupby(name).agg({ age:max, score:mean })8. 排序df.sort_values(score, ascendingFalse) df.sort_index()9. 表合并拼接数据pd.concat([df1, df2]) pd.merge(df1, df2, onid)10. 时间序列处理df[date] pd.to_datetime(df[date]) df.resample(M).sum()11. 数据保存df.to_csv(out.csv) df.to_excel(out.xlsx)三、NumPy 与 Pandas 的关系非常重要Pandas 的底层就是 NumPySeries.values → 返回 numpy 数组DataFrame.values → 返回 numpy 数组所有向量化运算都依赖 NumPy所以NumPy 是基础Pandas 是工具先会 NumPy再精通 Pandas。四、学习建议超实用先掌握 NumPy数组、索引、向量化、广播再学 Pandas读取、筛选、清洗、分组、聚合数据分析 80% 场景只用到 20% 的函数记住向量化永远比循环快

更多文章