np的数据处理api

📅 2026/7/9 5:23:16 👁️ 阅读次数 📝 编程学习
np的数据处理api

异常值处理:

函数功能说明简单示例
np.clip()将数组中的值限制在指定的最小值和最大值之间。np.clip([-1, 0, 10], 0, 5)返回[0, 0, 5]
np.where()根据条件返回满足条件的元素或进行替换。np.where(arr < 0, 0, arr)将所有负数替换为 0。
np.percentile()计算数组的指定百分位数。q1, q99 = np.percentile(data, [1, 99])计算1%和99%分位数。
np.sort()对数组进行排序。np.sort([3,1,2])返回[1,2,3]

缺失值处理:

函数功能说明简单示例
np.isnan()检查数组中的元素是否为NaN(缺失值)。np.isnan([1, np.nan, 3])返回[False, True, False]
np.nan_to_num()将数组中的NaN替换为 0,将无穷大替换为有限数。np.nan_to_num([1, np.nan, 3])返回[1., 0., 3.]
np.nanmean(),np.nanmedian()忽略NaN值后计算均值、中位数等统计量。np.nanmean([1, np.nan, 3])返回2.0
np.delete()删除数组中指定位置的子数组。np.delete([1,2,3,4], [0,2])返回[2,4]

去重

函数功能说明简单示例
np.unique()查找数组中的唯一元素,并可选地返回索引和计数。np.unique([1,2,2,3])返回[1,2,3]

数据类型转换

函数功能说明简单示例
arr.astype()将数组转换为指定的数据类型。arr.astype(np.float32)将数组元素转为32位浮点数。

数据筛选与替换

函数功能说明简单示例
np.where()功能同上,也常用于基于条件筛选和替换数据。np.where(arr > 5, arr, 0)将所有大于5的元素保留,其余置0。

数据排序与重塑

函数功能说明简单示例
np.sort()功能同上,用于排序。np.sort([3,1,2])返回[1,2,3]
arr.reshape()改变数组的形状而不改变其数据。arr.reshape(-1, 1)将一维数组转为列向量。

其他实用功能

  • np.loadtxt()/np.genfromtxt():从文本文件读取数据时,可通过missing_valuesfilling_values参数直接处理缺失值。

  • 掩码数组 (numpy.ma模块):创建“掩码数组”,在计算时自动忽略被标记为无效或缺失的数据点,而无需修改原始数据。

小demo:

import numpy as np # 1. 原始数据(含异常值、缺失值、重复值) raw_data = np.array([1.0, 2.0, 999.0, np.nan, 2.0, 3.0, 4.0, 1000.0]) # 2. 处理缺失值:用列均值填充 nan_mean = np.nanmean(raw_data) data_filled = np.where(np.isnan(raw_data), nan_mean, raw_data) # 3. 处理异常值:百分位截断法 q1, q99 = np.percentile(data_filled, [1, 99]) data_clipped = np.clip(data_filled, q1, q99) # 4. 去除重复值 data_unique = np.unique(data_clipped) print(data_unique)