目录
一、split分隔
numpy.split 函数沿特定的轴将数组分割为子数组,格式如下:
numpy.split(ary, indices_or_sections, axis=0)
ary
:要分割的数组。indices_or_sections
:可以是整数或整数序列。- 如果是一个整数 n,则数组会被均等地分割成 n 个部分(如果可能)。
- 如果是一个整数序列,它指定了每个分割点,将数组分割成指定长度的部分。序列中的数字不包括在分割的子数组中,即它们位于每个子数组的结束处。
axis
:指定沿哪个轴进行分割。默认为 0,表示沿着第一个轴(通常是行)分割。
1.水平分隔
使用hsplit函数可以水平分隔数组,该函数有两个参数,第1个参数 表示待分隔的数组,第2个参数表示要将数组水平分隔成几个小数 组。1.
2.垂直分隔
使用vsplit函数可以垂直分隔数组,该函数有两个参数,第1个参数 表示待分隔的数组,第2个参数表示将数组垂直分隔成几个小数组。
二、数学函数
1. 基本数学运算函数
- 加法、减法、乘法、除法:NumPy提供了
np.add()
,np.subtract()
,np.multiply()
,np.divide()
等函数进行数组间的基本数学运算。此外,还可以使用+
,-
,*
,/
等运算符直接对数组进行操作。 - 幂运算:
np.power(a, b)
,计算a的b次幂。 - 平方根:
np.sqrt(x)
,计算数组x中每个元素的平方根。
2. 三角函数
- 正弦:
np.sin(x)
,计算数组x中每个元素的正弦值。 - 余弦:
np.cos(x)
,计算数组x中每个元素的余弦值。 - 正切:
np.tan(x)
,计算数组x中每个元素的正切值。
3. 指数和对数函数
- 指数函数:
np.exp(x)
,计算数组x中每个元素的指数值(即e的x次幂)。 - 自然对数:
np.log(x)
,计算数组x中每个元素的自然对数(以e为底的对数)。 - 其他底数的对数:
np.log10(x)
计算以10为底的对数,np.log2(x)
计算以2为底的对数。
4. 统计函数
- 平均值:
np.mean(a, axis=None)
,计算数组a的平均值,可以指定轴进行计算。 - 中位数:
np.median(a, axis=None)
,计算数组a的中位数。 - 标准差:
np.std(a, axis=None)
,计算数组a的标准差。 - 方差:
np.var(a, axis=None)
,计算数组a的方差。 - 最大值和最小值:
np.max(a, axis=None)
和np.min(a, axis=None)
,分别计算数组a的最大值和最小值。
5. 排序和索引函数
- 排序:
np.sort(a, axis=-1, kind='quicksort', order=None)
,对数组a进行排序,返回排序后的数组副本。 - 返回排序索引:
np.argsort(a, axis=-1, kind='quicksort', order=None)
,返回数组a中元素从小到大的索引。
6. 累加和累积积
- 累加和:
np.cumsum(a, axis=0, dtype=None, out=None)
,计算数组a沿指定轴的元素的累加和。 - 累积积:
np.cumprod(a, axis=0, dtype=None, out=None)
,计算数组a沿指定轴的元素的累积积。
7. 查找和搜索
- 搜索排序后的索引:
np.searchsorted(a, v, side='left', sorter=None)
,在已排序数组a中查找插入点,使得插入后的数组仍然有序。
三、统计函数
1. 基本统计函数
- np.mean():计算数组的平均值。它将数组中所有元素相加,然后除以数组的长度,得到平均值。
- np.median():计算数组的中位数。它将数组按升序排序,然后找到中间位置的元素作为中位数,如果数组长度为偶数,则取中间两个数的平均值作为中位数。
- np.std():计算数组的标准差。标准差衡量数据的离散程度,它衡量每个数据点相对于平均值的偏离程度。
- np.var():计算数组的方差。方差也是衡量数据离散程度的指标,它是每个数据点与平均值的差的平方的平均值。
2. 最大值和最小值
- np.max() 和 np.amax():计算数组的最大值。这两个函数在功能上非常相似,都返回数组中的最大值。np.amax() 还允许指定沿哪个轴计算最大值。
- np.min() 和 np.amin():计算数组的最小值。与 np.max() 和 np.amax() 类似,np.amin() 也允许指定轴。
3. 求和与乘积
- np.sum():计算数组元素的总和。可以指定沿哪个轴求和。
- np.prod():计算数组元素的乘积。同样可以指定轴。
4. 百分位数和中位数
- np.percentile():计算数组的分位数。分位数是指将数据按升序排序后,将数据划分为多个等分的数值点。例如,25%分位数表示将数据划分为四等分后,位于第一个四分位数位置的数值点。
5. 其他统计函数
- np.ptp():计算数组中元素最大值与最小值的差(最大值 - 最小值)。
- np.average():计算数组中相关元素的加权平均值。可以指定权重数组,使得在计算平均值时考虑不同元素的相对重要性。
6. 忽略NaN的函数
- 对于需要忽略NaN值的场景,NumPy还提供了如np.nanmean()、np.nanstd()、np.nanmin()、np.nanmax()等函数,这些函数在计算时会自动忽略数组中的NaN值。
-
import numpy as np
# 创建一个NumPy数组
arr = np.array([1, 2, 3, 4, 5])
# 计算平均值
mean_value = np.mean(arr)
print("平均值:", mean_value)
# 计算中位数
median_value = np.median(arr)
print("中位数:", median_value)
# 计算标准差
std_value = np.std(arr)
print("标准差:", std_value)
# 计算方差
var_value = np.var(arr)
print("方差:", var_value)
# 计算最大值和最小值
max_value = np.max(arr)
min_value = np.min(arr)
print("最大值:", max_value)
print("最小值:", min_value)
# 计算总和
sum_value = np.sum(arr)
print("总和:", sum_value)
# 计算乘积
prod_value = np.prod(arr)
print("乘积:", prod_value)
# 计算75%分位数
percentile_value = np.percentile(arr, 75)
print("75%分位数:", percentile_value)
# 计算最大值与最小值的差
ptp_value = np.ptp(arr)
print("最大值与最小值的差:", ptp_value)