当前位置: 首页 > backend >正文

NumPy数组创建

NumPy数组创建

  • 1、numpy.array()
  • 2、numpy.zeros()
  • 3、numpy.ones()
  • 4、numpy.empty()
  • 5、numpy.full()
  • 6、numpy.arange()
  • 7、numpy.linspace()
  • 8、numpy.logspace()
  • 9、numpy.geomspace()
  • 10、numpy.random.rand()
  • 11、numpy.random.randint()
  • 12、numpy.random.random()
  • 13、numpy.random.randn()
  • 14、numpy.random.normal()
  • 15、numpy.random.uniform()
  • 16、numpy.random.binomial()
  • 17、numpy.random.poisson()
  • 18、numpy.random.exponential()
  • 19、numpy.eye()
  • 20、numpy.identity()
  • 21、numpy.diag()
  • 22、numpy.vstack()
  • 23、numpy.hstack()
  • 24、numpy.concatenate()
  • 25、numpy.stack()
  • 26、numpy.column_stack()
  • 27、numpy.row_stack()
  • 28、numpy.loadtxt()
  • 29、numpy.genfromtxt()
  • 30、numpy.fromfile()
  • 31、numpy.load()
  • 32、numpy.fromfunction()
  • 33、numpy.fromiter()
  • 34、numpy.tile()
  • 35、numpy.repeat()

1、numpy.array()

从列表、元祖创建数组

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

名称描述
object数组或嵌套的数列,元组
dtype数组元素的数据类型,可选
copy对象是否需要复制,可选
order创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok默认返回一个与基类类型一致的数组
ndmin指定生成数组的最小维度
# list 创建一维数组
d1a = np.array([1, 2, 3])
print(d1a)# 元组 创建一维数组
d1b = np.array((4, 5, 6))
print(d1b)# list 创建二维维数组
d2a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(d2a)# 元组 创建二维维数组
d2b = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)])
print(d2b)

2、numpy.zeros()

创建数据为0的数组

# 2行3列 全部为0
print(np.zeros((2, 3), np.int32))

3、numpy.ones()

创建数据为1的数组

# 2行3列 全部为1
print(np.ones((2, 3), np.int32))

4、numpy.empty()

创建未初始化的数组(内容随机)

# 2行3列,数据未初始化(数据随机)
print(np.empty((2,3), np.int32))

5、numpy.full()

创建数组,指定初始值

# 2行3列,初始值为1
print(np.full((2, 3), dtype=np.int32, fill_value=1))

6、numpy.arange()

等差数列生成数组, 指定边界,步长

# 等差数列,生成数组
print(np.arange(0, 10, 2))
print(np.arange(start=0, stop=10, step=1, dtype=np.int32))

7、numpy.linspace()

等差数列生成数组, 指定边界,元素个数

# 指定边界,元素个数5
print(np.linspace(start=1, stop=9, num=5, dtype=np.int32))

8、numpy.logspace()

生成对数空间中的等比序列

  • base,基数
  • num, 返回元素个数
  • start,N次方,开始
  • stop,N次方,结束
# base的N次方, 返回数量
print(np.logspace(start=1, stop=8, base=2, num=3, dtype=np.int32))

9、numpy.geomspace()

生成几何级数(等比)序列

print(np.geomspace(start=1, stop=8, num=4))

10、numpy.random.rand()

随机浮点数,数组

# 2行3列,浮点数
print(np.random.rand(2, 3))

11、numpy.random.randint()

随机整数,数组

# 2行3列,元素1-10的随机数
print(np.random.randint(low=1, high=10, size=(2, 3), dtype=np.int32))# 1行10列,元素1-10的随机数
print(np.random.randint(low=1, high=10, size=(10), dtype=np.int32))

12、numpy.random.random()

0-1之间的浮点数,数组

# 2行3列,浮点数
print(np.random.random((2,3)))

13、numpy.random.randn()

生成标准正态分布的随机数

# 2行3列,浮点数
print(np.random.randn(2, 3))

14、numpy.random.normal()

正态分布

15、numpy.random.uniform()

均匀分布

16、numpy.random.binomial()

二项分布

17、numpy.random.poisson()

泊松分布

18、numpy.random.exponential()

指数分布

19、numpy.eye()

创建单位矩阵,主对角线元素为1,其他元素为0,可通过参数k控制对角线起始位置(列序号)

# 2行3列
print(np.eye(N=2, M=3, dtype=np.int32))

20、numpy.identity()

创建单位矩阵(这里是方阵),主对角线元素为1,其他元素为0

# 2行2列
print(np.identity(2, dtype=np.int32))

21、numpy.diag()

创建对角矩阵或提取对角线元素

# 3行3列
print(np.diag([1, 2, 3]))

22、numpy.vstack()

垂直拼接数组, 列不变,行增加

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.vstack((a, b)))

23、numpy.hstack()

水平拼接数组,行不变,列增加

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.hstack((a, b)))

24、numpy.concatenate()

通用拼接函数,可指定轴

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.concatenate((a, b), axis=0))

25、numpy.stack()

沿新轴堆叠多个数组

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.stack((a, b), axis=0))

26、numpy.column_stack()

将一维数组作为列合并成二维数组

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.column_stack((a, b)))[[1 4][2 5][3 6]]

27、numpy.row_stack()

将一维数组作为行合并成二维数组(等价vstack)

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.row_stack((a, b)))
print(np.vstack((a, b)))[[1 2 3][4 5 6]]

28、numpy.loadtxt()

从文本文件读取数组(如 CSV)

data = np.loadtxt("d:/log/txt1.txt", delimiter="\t", encoding="utf-8", dtype=np.str_)
print(data)[['姓名' '语文' '数学' '英语']['张三' '120' '30' '14']['李四' '110' '132' '145']]

29、numpy.genfromtxt()

从文本文件读取数组(如 CSV),功能更强大

data = np.genfromtxt("d:/log/txt1.txt", delimiter="\t", encoding="utf-8", dtype=np.int32, skip_header=1, skip_footer=0, usecols=(1, 2, 3))
print(data)

30、numpy.fromfile()

从二进制文件读取数据(适用于 .raw 文件)

31、numpy.load()

从 .npy 或 .npz 文件中加载数组

32、numpy.fromfunction()

自定义函数生成数组

def func(i, j):return i + jprint(np.fromfunction(func, (2, 3), dtype=np.int32))[[0 1 2][1 2 3]]

33、numpy.fromiter()

从可迭代对象创建数组

it = (x * x for x in range(5))
print(np.fromiter(it, dtype=np.int32))

34、numpy.tile()

重复已有数组,构建新数组

# 2行2列
print(np.tile([1, 2], (2, 2)))# 2行2列
a = np.array((1, 2))
print(np.tile(a, (2, 2)))

35、numpy.repeat()

重复数据元素构建新数组

print(np.repeat([1, 2], 3))a = np.array([[1, 2], [3, 4]])
print(np.repeat(a, 2))
http://www.xdnf.cn/news/12745.html

相关文章:

  • C++11新增重要标准(下)
  • mysql 主从复制和分库分表
  • 2000-2020年各省第一产业增加值占GDP比重数据
  • python打卡day47@浙大疏锦行
  • 20250607在荣品的PRO-RK3566开发板的Android13的uboot中使用gpio命令来配置GPIO的状态
  • JavaScript篇:字母侦探:如何快速统计字符串里谁才是‘主角‘?
  • 开疆智能Ethernet/IP转Modbus网关连接施耐德ATV320变频器配置案例
  • 添加禁用状态
  • 【LeetCode】3170. 删除星号以后字典序最小的字符串(贪心 | 优先队列)
  • 开疆智能Ethernet/IP转Modbus网关连接质量流量计配置案例
  • 力扣刷题(第五十天)
  • 海伯森超高速工业相机:超高帧率,工业视觉新 “视” 力
  • Linux(生产消费者模型/线程池)
  • 一类简单而特殊数列的通项公式求法
  • 16-Oracle 23 ai-JSON-Relational Duality-知识准备
  • 靶场(二十)---靶场体会小白心得 ---jacko
  • Docker安装MQEX
  • MobaXterm配置跳转登录堡垒机
  • 详解二叉树遍历的非递归实现
  • Flask与Celery 项目应用(shared_task使用)
  • 知识改变命运?如何有规划的学好计算机专业?
  • 唯创知音WT2801芯片在家用血糖仪上的应用方案
  • 20250607在荣品的PRO-RK3566开发板的Android13系统下实现长按开机之后出现插入适配器不会自动启动的问题的解决
  • 【KiCad】立创封装导入KiCad
  • Linux编程:2、进程基础知识
  • Linux下如何查看一个端口被什么进程占用? 该进程又打开了哪些文件?
  • python入门(2)
  • 机器学习期末复习
  • 使用有限计算实现视频生成模型的高效训练
  • 【Latex】Windows/Ubuntu 绘制 eps 矢量图通用方法(drawio),支持插入 Latex 数学公式