Fork me on GitHub

Numpy使用-随机生成数据

Numpy库中随机选数

本文中介绍的是如何使用numpy库中的random模块进行随机选择数据

为什么写

在自己学习pandas和numpy库进行数据处理的过程,有时候会缺乏数据。虽然网上有很多的数据,但是需要时间去查找。

当自己在整理总结相关知识点的时候,需要立马用到一些简单的数据,于是想到了这个方法:随机模拟些简单的数据来进行处理和学习,于是想到了Numpy中的相关功能。

random.choice

在随机生成数据的过程中主要使用的是random.choice方法,下面具体介绍其方法的使用。

参数解释

1
np.random.choice(a, size=None, replace=True, p=None)
  • a:待抽取数据的对象,可以是一个具体的数值,也可以是列表或者元组
  • size:抽取多少个数据
  • replace:表示是否放回,为True表示放回(默认方式),则抽取的数据可能存在重复的值
  • p:表示每个元素被抽取的概率;如果没有指定,所有元素被选取的概率是相等的;p的长度和a的必须相同

抽取数值型数据

1
2
import numpy as np
import pandas as pd

是否放回

指定抽取概率

通过参数p来指定抽取的概率,其中p的长度和待抽取的数据a的长度必须一致

参数a和参数p的长度不一致导致报错

抽取列表数据

抽取元组数据

使用案例

通过一个随机生成的数据来模拟pandas中的DataFrame数据:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import pandas as pd
import numpy as np

name_list = ["小明","小红","张三","李四","王五","小孙","小周"]
subject_list = ["语文","数学","英文","生物","物理","地理",'化学']

# np.random.choice(list(range(50,101)),30) 同下效果
score_list = np.random.randint(50,100,30).tolist() # 0-100之间选择30个数

data = pd.DataFrame({
"name": np.random.choice(name_list,30,replace=True), # 默认也是放回抽样
"subject": np.random.choice(subject_list,30),
"scoer": score_list
})

data

本文标题:Numpy使用-随机生成数据

发布时间:2021年03月05日 - 17:03

原始链接:http://www.renpeter.cn/2021/03/05/Numpy%E4%BD%BF%E7%94%A8-%E9%9A%8F%E6%9C%BA%E7%94%9F%E6%88%90%E6%95%B0%E6%8D%AE.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Coffee or Tea