NumPy生成自定义数组
特殊数组的创建方法
numpy.arange 生成数值范围
numpy.linspace 生成等差数列
numpy.logspace 生成等比数列
np.zeros 全0数组
np.ones全1数组
随机数组:rand生成服从01分布的随机数
随机数组:randn生成标准正态分布的随机数
随机数组:normal生成元素是指定随机分布的数组
生成全数值相同的数组
np.eye生成单位矩阵
数组常用变形方法
- reshape方法:调整数组行列结构
- flatten方法:将数组降为一维数组
- .T方法:数组的转置
数组的拼接
- hstack:横向拼接,按行拼接,新增列,左右拼接
数组的切分
当然,有拼接就有切分。接下来,简单看下数组的切分方法。拼接时关键字是stack
,切分时关键字是split
- hsplit:左右切分
- array_split:通用切分方法
数组的算数运算
数学运算函数 | 描述 |
---|---|
np.add(x1,x2 ) | 按元素添加参数,等效于 x1 + x2 |
np.subtract(x1,x2) | 按元素方式减去参数,等效于x1 - x2 |
np.multiply(x1,x2) | 逐元素乘法参数,等效于x1 * x2 |
np.divide(x1,x2) | 逐元素除以参数,等效于x1 / x2 |
np.exp(x) | 计算e的x次方。 |
np.exp2(x) | 计算2的x次方。 |
np.power(x1,x2) | 计算x1的x2次幂。 |
np.mod(x) | 返回输入数组中相应元素的除法余数. |
np.log(x) | 自然对数,逐元素。 |
np.log2(x) | x的基础2对数。 |
np.log10(x) | 以元素为单位返回输入数组的基数10的对数。 |
np.expm1(x) | 对数组中的所有元素计算exp(x) - 1 |
np.log1p(x) | 返回一个加自然对数的输入数组。 |
np.sqrt(x) | 按元素方式返回数组的正平方根。 |
np.square(x) | 返回输入的元素平方。 |
np.sin(x) | 三角正弦。 |
np.cos(x) | 元素余弦。 |
np.tan(x) | 逐元素计算切线。 |
np.round(x) | 四舍五入 |
np.floor(x) | 向下取整 |
np.ceil(x) | 向上取整 |
数组的统计运算 | |
NumPy有很多有用的统计函数,用于从数组中给定的元素中查找最小,最大,百分标准差和方差等。 | |
常用统计函数: |
函数名称 | NaN安全版本 | 描述 |
---|---|---|
np.sum() | np.nansum() | 计算元素的和 |
np.min() | np.nanmin() | 找出最小值 |
np.max() | np.nanmax() | 找出最大值 |
np.prod() | np.nanprod() | 计算元素的积 |
np.ptp() | N/A | 计算元素的极差(最大值 - 最小值) |
np.mean() | np.nanmean() | 计算元素的算术平均值 |
np.std() | np.nanstd() | 计算标准差 |
np.var() | np.nanvar() | 计算方差 |
np.percentile() | np.nanpercentile() | 计算百分位数 |
np.median() | np.nanmedian() | 计算中位数 |
np.average() | N/A | 返回数组的加权平均值 |
np.any() | N/A | 验证任何一个元素是否为真 |
np.all() | N/A | 验证所有元素是否为真 |
数组的线性代数函数
NumPy拥有numpy.linalg 模块,提供线性代数所需的所有功能。
- np.dot() 返回两个数组的点积
- np.vdot() 返回两个向量的点积
- np.inner() 返回一维数组的向量内积
- np.matmul() 返回两个数组的矩阵乘积
- np.linalg.det() 计算输入矩阵的行列式
- np.linalg.solve() 求解矩阵形式的线性方程的解
- np.linalg.inv() 计算矩阵的逆
Pandas-DataFrame的创建
由Series创建DataFrame
二维array创建DataFrame
利用字典创建DataFrame
在创建过程中,字典的Key会编程column名称,并且系统会自动生成index.
- 本文标题:NumPy生成自定义数组
- 创建时间:2022-11-15 00:00:00
- 本文链接:2022/11/15/NumPy生成自定义数组/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
评论