使用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 randomprint( 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]#生成等比数列 基数默认为10np.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.]