活动地址:CSDN21天学习挑战赛
前两篇地址点这里:
数据分析—Numpy(一)
数据分析—Numpy(二)
数组运算
广播机制(Broadcast)
定义
广播是numpy对不同形状的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行
数组形状相等
两个数组满足a.shape == b.shape,算术运算的结果就是两个数组对应位置上的元素
运算 数组形状不等
numpy将自动触发广播机制
# a.shape == b.shape情况:
import numpy as np
a = np.array([1,2,3,4])
b = np.array([10,20,30,40])
c = a * b
print (c)
# 当运算中的 2 个数组的形状不同时,numpy 将自动触发广播机制:
import numpy as np
a = np.array([[ 0, 0, 0],
[10,10,10],
[20,20,20],
[30,30,30]])
b = np.array([1,2,3])
print(a + b)
数组的算术运算
- 数组和数运算
numpy的广播机制在算术运算过程中,加减乘除的值被广播到所有的元素上 示例
t1 = np.arange(24).reshape(6,4)
t1+2
t1*2
t1/2
t1-2
- 数组和数组的运算
(1)同种形状的数组(对应位置进行计算操作)
如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b
数组对应位相乘。这要求维数(ndim)相同,且各维度的长度(shape)相同
(2)不种形状的多维数组计算
行数相同,列数不同 行数不同,列数相同
(3)列数相同的一维数组和多维数组可以进行计算
- 增强运算
增强运算符(+=,-=,*=,/=)就位以修改现有数组,而不是创建一个新数组
统计函数
含义 | 函数 |
---|---|
最大值: | np.max() |
最小值: | np.min() |
极值: | np.ptp() |
中位数: | np.median() |
求和: | np. sum() |
算术平均数: | np.mean() |
加权平均数: | np.average() |
标准差: | np.std() |
方差: | np.var() |
协方差: | np.cov() |
import numpy as np
a = np.random.randint(1,100,20)
print(a)
print(np.max(a))
print(np.min(a))
print(np.mean(a))
print(np.sum(a))
# ......
排序函数
- numpy.sort(a, axis = -1, kind = None, order = None)
返回数组的排序副本
import numpy as np
a = np.random.randint(1,100,20)
print(a)
print(np.sort(a))
- ndarray.sort(axis = -1, kind = None, order = None)
就地排序数组
- numpy.argsort(a, axis = -1, kind = None, order = None)
返回将对数组进行排序的索引
条件筛选函数
- numpy.argmax(a, axis = None, out = None)
返回沿轴的最大值的索引
- numpy.argmin(a, axis = None, out = None)
返回沿轴的最小值的索引
- numpy.where(条件[,x, y ])
根据条件从x或y中选择返回的元素,三元运算
- numpy.extract(条件, arr)
返回满足某些条件的数组元素