使用Python生成数据
使用python原生函数
使用range函数可创建一个整数列表
list = range(10) # 从0开始到10 : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print([i for i in list])
print([i*1 for i in list]) # 使用for循环
range(1, 11) # 从 1开始到11: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
range(0, 30, 5) # 步长为 2: [0, 2, 4, 6, 8]
range(0, -10, -1) # 负数:[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
range(0) # 空数组 []
range(1, 0) # 空数组 []
使用random函数
import random
print( random.random() ) # 产生 0 到 1 之间的随机浮点数
random.randint(1,10) # 产生 1 到 10 的一个整数型随机数
random.uniform(1.1,5.4) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
random.choice('abcdefghijklmn') # 从序列中随机选取一个元素
random.randrange(0, 100, 2) # 生成从1到100的间隔为2的随机整数[0-100)的偶数
random.shuffle([1,3,5,6,7]) # 将序列中的元素顺序打乱
使用numpy
使用np.arange()
类似于range,通过指定开始值,终值和步长来创建表示等差数列的一维数组
array = np.arange(10) #
list = range(10)
print(list)
print(array) # [0 1 2 3 4 5 6 7 8 9]
# ! 2个函数生成的类型不同,但用法类似
print(type(array))
print(type(list))
print(len(array)) #
print(len(list))
print(np.arange(1, 11)) # [ 1 2 3 4 5 6 7 8 9 10]
print(np.arange(1, 2, 0.1)) # [1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9] 步长可用小数
使用 np.linspace()
该函数第三个参数指定的是元素个数,它表示给定起始值和终点值以及元素个数,生成一个一维的等差数列。
含有参数endpoint布尔值,默认为True表示包含终值,设定为False表示不包含终值。
np.linspace(0,1,10)
# [ 0., 0.11111111, 0.22222222, 0.33333333, 0.44444444,0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ])
np.linspace(0,1,10,endpoint = False) # [ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]
#生成等比数列 基数默认为10
np.logspace(0,4,3) # [1.e+00 1.e+02 1.e+04]
np.logspace(0,4,3,base = 2) # [ 1. 4. 16.] 起点为2^0 = 1,终点为2^4 = 16,一共按照等比数列生成3个点
创建指定的形状和类型数组
# 只分配数组所使用的内存,不对数据初始化起作用
np.empty(4,np.int32)
np.empty((2,3),np.int32)
#
np.ones(4) # [1. 1. 1. 1.]
np.ones((2,3))
np.ones(4, dtype = np.bool) # [ True True True True]
#
np.zeros(4, dtype = np.bool) # [False False False False]
np.zeros(4) # [0. 0. 0. 0.]
# 生成初始化为指定值的数组
np.full(4,np.pi)
np.full((2,3), -1)
# 创建参数形状相同的数组
a = np.arange(6).reshape(2,3)
np.zeros_like(a) # [[0 0 0][0 0 0]]
np.ones_like(a)) # [[1 1 1][1 1 1]]
# 从指定的函数中生成数组,第一个参数是函数名称,第二个参数是数组形状
np.fromfunction(lambda a, b : a == b, (3, 3))
# [[ True False False]
# [False True False]
# [False False True]]
np.fromfunction(lambda i:i%7 +1,(10,)) # [ 1., 2., 3., 4., 5., 6., 7., 1., 2., 3.]
使用随机函数
# 随机数是由随机种子根据一定的计算方法计算出来的数值。
# 只要计算方法一定,随机种子一定,那么产生的随机数就不会变
np.random.seed(123)
np.random.rand(4) # 均匀分布随机数组 0-1浮点数
np.random.rand(2,3) # 产生2*3均匀分布随机数组
np.random.randint(1,100,[5,5]) # (1,100)以内的5行5列随机整数
np.random.random(4) # (0,1)以内4个随机浮点数
np.random.choice(10) # [0,10)内随机选择一个数
np.random.choice([1,2,3,4,5],(2,3))
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。