资讯专栏INFORMATION COLUMN

【整理】使用Python生成数据

Jaden / 2392人阅读

摘要:含有参数布尔值,默认为表示包含终值,设定为表示不包含终值。只要计算方法一定,随机种子一定,那么产生的随机数就不会变均匀分布随机数组浮点数产生均匀分布随机数组以内的行列随机整数以内个随机浮点数内随机选择一个数

使用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))

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45265.html

相关文章

  • 首次公开,整理12年积累的博客收藏夹,零距离展示《收藏夹吃灰》系列博客

    摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...

    Harriet666 评论0 收藏0
  • python迭代器资料整理

    摘要:满足以上要求的对象,就是迭代器。其中,必需返回一个迭代器对象,则负责迭代逻辑并在迭代完毕时触发异常。可以在遍历迭代器的时候,加入一个判断语句,避免无法多次迭代的情况发生参考资料官网迭代器文档 什么是迭代器 相关概念定义 迭代器(Iterator): 满足迭代协议的对象就是迭代器 iterator就是实现了Iteration Protocol的对象,这类对象都支持循环遍历的操作(for...

    Muninn 评论0 收藏0
  • Python即时网络爬虫:API说明

    摘要:用于数据分析和数据挖掘的网络爬虫程序中,内容提取器是影响通用性的关键障碍,如果这个提取器是从获得的,您的网络爬虫程序就能写成通用的框架。,相关文档,即时网络爬虫项目内容提取器的定义,集搜客开源代码下载源,开源网络爬虫源,文档修改历史, showImg(https://segmentfault.com/img/bVynLk); API说明——下载gsExtractor内容提取器 1,接口...

    genefy 评论0 收藏0
  • 给大家整理了19个pythonic的编程习惯

    摘要:最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净整洁一目了然。程序必须先让人读懂,然后才能让计算机执行。中间结果尽量使用代替不推荐推荐会带来更高的内存使用效率,特别是当处理大数据操作的时候。 showImg(https://img-blog.csdnimg.cn/20190306201121104.png?x-oss-process=image/watermark,type_Z...

    buildupchao 评论0 收藏0

发表评论

0条评论

Jaden

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<