相思本是无凭语,

莫向花牋费泪行。

hanstary

相思本是无凭语,莫向花牋费泪行。

NumPy数组的创建

NumPy数组的创建

方法 说明
array() 最常用的方法
arange() 创建元素值在某个范围的数组,可以指定步长
linspace() 创建元素值在某个范围的数组,可以指定个数
zeros() 创建元素值为0的数组
ones() 创建元素值为1的数组
randint(start,end) 随机整数,范围为[start,end)
rand() 随机浮点数,范围为[0,1)
randn() 随机浮点数,符合正态分布

1.array()

np.array(列表或元组)

(1)列表转数组

import numpy as np

# 一维数组
arr1 = np.array([1, 2, 3, 4, 5])
# 二维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print("一维数组:")
print(arr1)
print("二维数组:")
print(arr2)

1718463050933

(2)元组转数组

import numpy as np

# 一维数组
arr1 = np.array((1, 3, 5, 7, 9))
# 二维数组
arr2 = np.array(((1, 2, 3), (4, 5, 6)))
print("一维数组:")
print(arr1)
print("二维数组:")
print(arr2)

1718463050933

2.arange()

np.arange(start,end,step)
# start:开始值
# end:结束值
# step:步长
import numpy as np

# start默认为0 step默认为1
arr1 = np.arange(5)
# 注:取值范围为[3,6)
arr2 = np.arange(3, 6)
# 浮点类型
arr3 = np.arange(1.5, 10.5)
# 步长为浮点
arr4 = np.arange(1, 10, 1.5)
# 步长为负数
arr5 = np.arange(10, 1, -1)
# 输出
# 代码略

1718463050933

3.linspace()

np.linspace(start,end,num,endpoint=True或False)
# start开始值
# end 结束值
# num 个数
# endpoint 默认为True True:取值为[start,end] False:取值为[start,false)
import numpy as np

# 包含结束值
arr1 = np.linspace(0, 10, 20)
# 不包含结束值
arr2 = np.linspace(0, 10, 20, endpoint=False)
# 输出
# 代码略

1718463050933

4.zeros()

np.zeros(shape=(a,b,c,...,n),dtype=int或float)
# shape:元组,创建一个a*b*c*...*n的数组
# dtype:默认为float 定义元素类型
import numpy as np

# 整型
arr1 = np.zeros((3, 3), dtype=int)
# 浮点型
arr2 = np.zeros((3, 3), dtype=float)
# 输出
# 代码略

1718463050933

5.ones()

np.zeros(shape=(a,b,c,...,n),dtype=int或float)
# shape:元组,创建一个a*b*c*...*n的数组
# dtype:默认为float 定义元素类型
import numpy as np

# 整型
arr1 = np.ones((3, 3), dtype=int)
# 浮点型
arr2 = np.ones((3, 3), dtype=float)
# 输出
# 代码略

1718463050933

6.randint()

np.random.randint(start,end,size=元组或整数)
# start:开始值
# end: 结束值
# 取值范围为[start,end)
​```
1.size为元组
size=(m):创建一个m行的一维数组
size=(m,n):创建一个m*n的二维数组

2.size为整数
size=m:创建一个m行的一维数组
​```
import numpy as np

# 整数创建
arr1 = np.random.randint(10, 20, 5)
# 一维数组
arr2 = np.random.randint(10, 20, (5))
# 二维数组
arr3 = np.random.randint(10, 20, (5, 6))
# 输出
# 代码略

1718463050933

7.rand()

np.random.rand(m,n)
​```
1.一个参数
rand(m):生成包含m个元素的一维随机数组
2.两个参数
rand(m,n):生成一个m*n的二维随机数组
​```
import numpy as np

# 一维数组
arr1 = np.random.rand(5)
# 二维数组
arr2 = np.random.rand(3, 5)
# 输出
# 代码略

1718463050933

8.randn()

(1)基本语法

np.random.randn(m,n)
​```
1.一个参数
randn(m):生成包含m个元素的一维随机数组
2.两个参数
randn(m,n):生成一个m*n的二维随机数组
​```
import numpy as np

# 一维数组
arr1 = np.random.randn(5)
# 二维数组
arr2 = np.random.randn(3, 5)
# 输出
# 代码略

1718463050933

(2)验证正态分布

import numpy as np
import matplotlib.pyplot as plt

arr = np.random.randn(10000)
plt.hist(arr, bins='auto', density=True)
plt.show()

对生成的10000数据进行直方图统计

1718463050933

可见符合正态分布

posted on 2024-06-16 10:38  hanstary  阅读(20)  评论(0编辑  收藏  举报

导航