1、生成ndarray的几种方式
1、从已有数据中创建
(1)将列表转换成ndarray
import numpy as np
list=[3.14,2.78,9.969]
a=np.array(list)
print(a)
print(type(a))
输出:
[3.14 2.78 9.969]
<class 'numpy.ndarray'>
嵌套列表转换成多维ndarray
list1=[[1,2,3],[4,5,6]]
b=np.array(list1)
print(b)
print(type(b))
输出:
[[1 2 3]
[4 5 6]]
<class 'numpy.ndarray'>
若list的两个维度不同时??
list1=[[1,2,3],[4,5,6,7]]
b=np.array(list1)
print(b)
print(type(b))
输出:
[list([1, 2, 3]) list([4, 5, 6, 7])]
<class 'numpy.ndarray'>
这是一维的!!
2、利用random模块生成nadarray
random模块分为多种函数:
(1)random生成0到1之间的随机数
c=np.random.random([6,6])
print(c)
输出:
[[0.59391063 0.75378472 0.32952912 0.26467471 0.47116404 0.97516082]
[0.98650169 0.97538322 0.67724268 0.00322345 0.41616526 0.20349846]
[0.26703908 0.57530623 0.52608541 0.04137888 0.0857894 0.99140156]
[0.98279155 0.43601314 0.3980672 0.19780929 0.71322162 0.34114976]
[0.55084292 0.85393391 0.03192559 0.77924751 0.30661798 0.95929439]
[0.48800905 0.94507055 0.3697743 0.01428907 0.14127233 0.43078732]]
6*6矩阵
(2)uniform生成均匀的随机数
(3)randn生成标准正态的随机数
(4)normai生成正态分布
(5)shuffle随机打乱顺序
(6)seed设置随机数种子
前辈对于seed()是这样说的:
seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed( )值,
则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,
此时每次生成的随机数因时间差异而不同。
3、创建特定形状的多为数组
import numpy as np
print(np.zeros([4,5])) #生成4*5阶零矩阵
print(np.ones([3,4])) #生成3*4阶一矩阵
print(np.eye(3)) #生成3阶单位阵
print(np.diag([1,3,5])) #生成以一维数组为对角线的对角矩阵
输出:
[[0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.]] [[1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.]] [[1. 0. 0.] [0. 1. 0.] [0. 0. 1.]] [[1 0 0] [0 3 0] [0 0 5]]
a=np.arange(1,10).reshape([3,3])
print(a)
print(" ")
print(np.diag(a))
输出:
[[1 2 3] [4 5 6] [7 8 9]] [1 5 9]
输入二维矩阵输出一维矩阵!!
4、利用arange函数
arange函数格式为:
arange([start,]stop[,step,],dtype=None)
print(np.arange(10))
print(np.arange(0,10))
print(np.arange(1,4,0.5))
print(np.arange(9,-1,-1))
输出:
[0 1 2 3 4 5 6 7 8 9] [0 1 2 3 4 5 6 7 8 9] [1. 1.5 2. 2.5 3. 3.5] [9 8 7 6 5 4 3 2 1 0]
本文详细介绍了使用NumPy库创建数组的各种方法,包括从现有数据转换、生成随机数组、创建特定形状的数组以及使用arange函数。涵盖了ndarray的基础创建方式,随机数生成函数如random、uniform等,以及如何通过zeros、ones、eye和diag函数创建特定形状的数组。

2717

被折叠的 条评论
为什么被折叠?



