numpy的一些函数。
数组的拼接,水平拼接与竖直拼接。
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.hstack((a, b))
c = np.vstack((a, b))
print(c)
print(d)
运行结果:原来22的数组拼接后变为24的数组
c
[[1 2 5 6]
[3 4 7 8]]
d
[[1 2]
[3 4]
[5 6]
[7 8]]
数组的分割,水平分割与竖直分割。
水平分割是竖着切,竖直分割横着切。
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.vstack((a, b))
d = np.vsplit(c,2)
print(d)
#此处的参数2代表将数组d竖直分割成两个数组
[array([[1, 2], [3, 4]]),
array([[5, 6],[7, 8]])]
#如果是(1,2)则代表在位置1和位置2处分割,共分割成三份
[array([[1, 2]]),
array([[3, 4]]),
array([[5, 6],[7, 8]])]
逐元素计算,相当于给定了两个直角边求斜边大小
即返回值= ( x 1 2 + x 2 2 ) \sqrt{(x_1^2+x_2^2)} (x12+x22)
a = np.array([3, 3, 3])
b = np.array([4, 4, 4])
c = np.hypot(a, b)
print(c)
[5. 5. 5.]
简单的一维线性插值函数
import matplotlib.pyplot as plt
_x=np.linspace(0,2*np.pi,11)#在0到2Π之间有11个点
_y=np.sin(_x)
x=np.linspace(0,np.pi*2,33)#x是横坐标
y=np.interp(x,_x,_y)#插值得到新的y值
plt.figure()
plt.plot(_x,_y,"o")
plt.figure()
plt.plot(x,y,"ro")
plt.show()
函数 | 功能 |
---|---|
np.nanmax(a,axis=None) | 忽略nan返回数组中的最大值 |
np.nanargmax(a,axis=None) | 忽略nan返回数组中最大值的索引 |
np.ptp(a,axis=None) | 返回数组中元素最大值与最小值的差 |
np.nanmedian(a,axis=None) | 忽略nan返回数组中的中位数 |
np.sum(a,axis=None) | 忽略nan按指定轴求元素之和 |
np.nancumsum(a,axis=None) | 忽略nan按指定轴求元素的累进和 |
np.diff(a,axis=-1) | 按指定轴返回相邻元素的差 |
np.nanprod(a,axis=None) | 忽略nan按指定轴求元素之积 |
np.nanmean(a,axis=None) | 忽略nan返回数组中元素的算数平均数 |
np.average() | 根据权重数据,返回数组所有元素的加权平均值 |
np.nanvar(a) | 忽略nan返回数组方差 |
np.nanstd(a) | 忽略nan返回数组标准差 |
np.corrcoef | 返回两个数组的皮尔逊积矩相关系数 |
np.interp() | 线性插值函数,返回插值后得到的y值 |