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)
(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)
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)
# 输出
# 代码略
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)
# 输出
# 代码略
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)
# 输出
# 代码略
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)
# 输出
# 代码略
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))
# 输出
# 代码略
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)
# 输出
# 代码略
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)
# 输出
# 代码略
(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数据进行直方图统计
可见符合正态分布