dtcms插件 hash JAVA学习 全局重载运算符 java 线程池 unity less flask linktosql textview uicollectionview 后台模板 solr索引 axure时间选择控件 oracle创建唯一索引 反函数的二阶导数 java高级特性 mysql数据库 mysql新建数据库 后台管理网站模板 python最大值 python在线教程 配置python环境 python操作文件 java环境安装 java操作数据库 java中scanner用法 java输出 vs2010sp1 机械下载 ILspy eml文件阅读器下载 剑三醉猿 音乐剪辑器下载 手机知识 黑市商人 linux端口映射 win10有哪些版本 程序卸载 文章查重软件
当前位置: 首页 > 学习教程  > 编程语言

numpy常用小知识

2021/1/28 23:24:31 文章标签:

numpy常用小知识1.array基本信息查看及操作查看array元素内容、类型、维度常见的array格式:零矩阵、一矩阵、空矩阵2.array之间的计算加减法乘除法随机数,按行或列求最大最小值sort、转置3. 索引和拼接取值,取行或列,降维数组拼接…

numpy常用小知识

  • 1.array基本信息查看及操作
    • 查看array元素内容、类型、维度
    • 常见的array格式:零矩阵、一矩阵、空矩阵
  • 2.array之间的计算
    • 加减法
    • 乘除法
    • 随机数,按行或列求最大最小值
    • sort、转置
  • 3. 索引和拼接
    • 取值,取行或列,降维
    • 数组拼接

1.array基本信息查看及操作

写在前面:命名py文件时,不要使用python自带的包命名,会出现AttributeError:module ‘numpy’ has no attribute ‘array’。

查看array元素内容、类型、维度

import numpy as np
array = np.array([[1, 2, 3],
                  [2, 3, 4]])
print(array)  # 查看array
print(array.dtype)  # 每个元素的类型
print("number of dim", array.ndim)  # array的维度,两行三列
print('shape:',array.shape)  # 形状
print('size:',array.size)  # array的大小=array中所有元素的格式

在这里插入图片描述

常见的array格式:零矩阵、一矩阵、空矩阵

# 常见的array格式
a1 = np.zeros((2, 3), dtype=np.int) # 生成全为0的array
a2 = np.ones((2, 3), dtype=np.int16) # 生成全为1的array
a3 = np.empty((2, 3)) # 生成全为接近空的array
a4 = np.arange(10, 20, 2) # 生成array 10到20 步长为2,即10,12,14,16,18
a5 = np.arange(12)  # 生成0到11
a6 = np.arange(12).reshape((3,4)) # reshape重新定域矩阵形状
a7 = np.linspace(1, 10, 4).reshape((2, 2))  # 将1到10之间,步长为4-1=3,即1,4,7,10,重新定义为2*2矩阵

2.array之间的计算

加减法

# array之间的计算
a = np.array([10, 20, 30, 40])  # 相同维度
b = np.arange(4)
c1 = a+b
c2 = a-b
aa = np.array([[1, 2, 3, 4],  # 不同维度,把维度低的array自动扩大到大维度的array
              [11, 22, 33, 44]])
bb = np.arange(4)
cc = aa+bb #  结果为 [[1 3 5 7] [11 23 35 47]]

乘除法

d = np.array([[1, 2],
              [3, 4]])
e = np.arange(1, 8, 2).reshape((2, 2))  # [[1 3] [5 7]]
print("d*e:", d*e)  # 对应元素相乘
print("d/e:", d/e)  # 对应元素相除
print("d e 矩阵相乘:", d.dot(e))  # 矩阵相乘 等价于np.dot(d,e)

在这里插入图片描述

随机数,按行或列求最大最小值

f = np.random.random((2,4))  # 随机产生shape为(2,4)的一个array,每个元素都在0-1之间
print(np.sum(f))  #求和
print(np.min(f))
print(np.max(f))
print(np.sum(f, axis=0))  # 按列执行,从上往下走
print(np.min(f, axis=1))  # 按行执行,从左往右走
print(np.max(f, axis=0))

在这里插入图片描述

此处axis=0,axis=1用图解释如下:
在这里插入图片描述

sort、转置

c = np.arange(14, 2, -1).reshape((3,4))
print("sort:", np.sort(c))  # 每一行进行从小到大的排序
print("c的转置:", np.transpose(c))  # 对矩阵进行转置,等价于c.T,行向量用np.newaxis进行转换
print("clip:", np.clip(c, 5, 9))  # c矩阵中小于5的元素等于5,大于9的等于9

在这里插入图片描述

3. 索引和拼接

取值,取行或列,降维

a = np.arange(3, 15).reshape((3,4))
print(a)
print(a[1])  # 索引为1的行,等价于a[:][1]
print(a[2, 1])  # 与数组类似
print(a[:, 1])  # 索引为1的列,生成行向量
print(a[:,1:2])  # 索引为1的列,生成列向量
print(a[:, 1:3])  # 索引为1到2 的列,生成列向量
print(a.flatten())  # 所有元素变为一维

在这里插入图片描述

数组拼接

a = np.array([1, 1, 2])
b = np.array([2, 3, 4])
c = np.vstack((a,b))  # vertical 垂直方向b接在a后面
d = np.hstack((a,b))  # horizontal 水平方向b接在a后面

a = np.array([1, 1, 2])[:, np.newaxis]
b = np.array([2, 3, 4])[:, np.newaxis]
e = np.concatenate((a, b, b), axis=0)  # 多向量融合
f = np.concatenate((a, b, b), axis=1)

在这里插入图片描述
学习来源: AI蜗牛车公众号


本文链接: http://www.dtmao.cc/news_show_650199.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?