Python的numpy库中rand(),randn(),randint(),random_integers()等random系函数的使用

在使用Python进行数据处理时,往往需要用到大量的随机数据,那如何构造这么多数据呢?Python的第三方库numpy库中提供了random函数来实现这个功能。
本文将根据官方文档以及其他博友的博客一起来谈论常见的random函数以及使用
官方文档

首先说下numpy.random.seed()与numpy.random.RandomState()这两个在数据处理中比较常用的函数,两者实现的作用是一样的,都是使每次随机生成数一样,具体可见下图

numpy.random.seed()

random.RandomState()

1.numpy.random.rand()
官方文档中给出的用法是:numpy.random.rand(d0,d1,…dn)
以给定的形状创建一个数组,并在数组中加入在[0,1]之间均匀分布的随机样本。
用法及实现
这里写图片描述

2.numpy.random.randn()
官方文档中给出的用法是:numpy.random.rand(d0,d1,…dn)
以给定的形状创建一个数组,数组元素来符合标准正态分布N(0,1)
若要获得一般正态分布这里写图片描述则可用sigma * np.random.randn(…) + mu进行表示
用法及实现
这里写图片描述

3.numpy.random.randint()
官方文档中给出的用法是:numpy.random.randint(low,high=None,size=None,dtype)
生成在半开半闭区间[low,high)上离散均匀分布的整数值;若high=None,则取值区间变为[0,low)
用法及实现
high=None的情形
这里写图片描述

high≠None
这里写图片描述

4.numpy.random.random_integers()
官方文档中给出的用法是:
numpy.random.random_integers(low,high=None,size=None)
生成闭区间[low,high]上离散均匀分布的整数值;若high=None,则取值区间变为[1,low]
用法及实现
high=None的情形
这里写图片描述

high≠None的情形
这里写图片描述

此外,若要将【a,b】区间分成N等分,也可以用此函数实现
a+(b-a)*(numpy.random.random_integers(N)-1)/(N-1)

5.numpy.random_sanmple()
官方文档中给出的用法是:
numpy.random.random_sample(size=None)
以给定形状返回[0,1)之间的随机浮点数
用法及实现
这里写图片描述

其他函数,numpy.random.random() ;numpy.random.ranf()
numpy.random.sample()用法及实现都与它相同

6.numpy.random.choice()
官方文档中给出的用法:
numpy.random.choice(a,size=None,replace=True,p=None)
若a为数组,则从a中选取元素;若a为单个int类型数,则选取range(a)中的数
replace是bool类型,为True,则选取的元素会出现重复;反之不会出现重复
p为数组,里面存放选到每个数的可能性,即概率
用法及实现
这里写图片描述

以上就是关于random函数的几种用法,欢迎大家一起交流

参考资源链接:[Python数据分析基础:王斌会第三章-Python编程与numpy、pandas详解](https://wenku.csdn.net/doc/6e05xtfi73?utm_source=wenku_answer2doc_content) 在Python数据处理中,创建随机数据集和处理数据缺失是两个重要的实战技能。本回答将详细指导你如何运用numpy和pandas来完成这一任务。 首先,numpy提供了丰富的函数来生成随机数。例如,如果你想生成一个包含5个随机整数的数组,范围在1到100之间,可以使用以下代码: ```python import numpy as np random_integers = np.random.randint(1, 101, size=5) ``` 对于连续随机数,如果你想生成10个0到1之间的均匀分布随机数,可以使用: ```python random_uniform = np.random.rand(10) ``` 而对于标准正态分布的随机数,你可以使用: ```python random_normal = np.random.randn(10) ``` 接下来,在pandas中创建DataFrame,你可以使用numpy生成的数据或者直接用pandas的内置函数。例如,创建一个包含随机整数和均匀分布随机数的DataFrame: ```python import pandas as pd data = { 'random_integers': random_integers, 'random_uniform': random_uniform } df = pd.DataFrame(data) ``` 在DataFrame中,处理缺失值是一项常见的数据清洗工作。pandas提供了多种方法来处理缺失数据。例如,如果你想检查DataFrame中的缺失值,可以使用`isnull()`函数: ```python missing_values = df.isnull() ``` 如果你想填充缺失值,可以使用`fillna()`方法。如果你想要用某个固定值填充,比如0,可以这样做: ```python df_filled = df.fillna(0) ``` 或者,如果你想删除含有缺失值的行或列,可以使用`dropna()`方法: ```python df_dropped = df.dropna(axis=0) # 删除含有缺失值的行 ``` 通过以上步骤,你不仅可以生成随机数据集,还可以有效地处理数据中的缺失值问题。为了进一步巩固你的知识,建议阅读《Python数据分析基础:王斌会第三章-Python编程与numpy、pandas详解》。该资源详细讲解了numpy和pandas的使用,包括创建和操作数组、生成随机数以及处理缺失值等,非常适合想要在数据分析方面提升自己的读者。 参考资源链接:[Python数据分析基础:王斌会第三章-Python编程与numpy、pandas详解](https://wenku.csdn.net/doc/6e05xtfi73?utm_source=wenku_answer2doc_content)
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值