- 前言
- 一、数组的拼接与切分
- 1 np.hstack()和np.vstack()
- 2 np.hsplit()和np.vsplit()
- 二、 numpy其他函数
- 1.np.hypot(x1,x2)
- 2.np.interp()插值函数
前言
numpy的一些函数。
一、数组的拼接与切分 1 np.hstack()和np.vstack()数组的拼接,水平拼接与竖直拼接。
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]]2 np.hsplit()和np.vsplit()
数组的分割,水平分割与竖直分割。
水平分割是竖着切,竖直分割横着切。
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]])]二、 numpy其他函数 1.np.hypot(x1,x2)
逐元素计算,相当于给定了两个直角边求斜边大小
即返回值=
(
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.]2.np.interp()插值函数
简单的一维线性插值函数
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值 |



