栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

数据分析之Numpy常用方法【random.randint(),random.choice(),np.linspace(),np.ceil() ,np.floor()】

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据分析之Numpy常用方法【random.randint(),random.choice(),np.linspace(),np.ceil() ,np.floor()】

这里写目录标题
      • 常用的随机方法
      • 1. random.randint()
      • 2. random.choice()
      • 3.np.linspace()
      • 4. np.ceil() ,np.floor()

常用的随机方法

1. random.randint()
t = np.random.randint(0, 20, (3, 4))
t2 = np.random.randint(20, size=(3, 4))  # 默认low从 0开始.
print(t)
print("------------------")
print(t2)
输出:
[[13  5 16  0]
 [15 19 18  9]
 [14  7 18 14]]
------------------
[[ 8 16  4 17]
 [13 11 12 15]
 [15 12 10 17]]
// A code block
var foo = 'bar';
2. random.choice()

相关参数

  • size:从元组,列表,数组中取多少个数据,不写,默认为1个
  • replace:是否可以取相同元素:True:可以,False:不可以,默认是True
  • p:实际是个数组,大小与数组相同,用来规定选取数组中每个元素的概率,默认为概率相同。注意:概率相加等于1
#  1、产生随机数
a = np.random.choice(5)  # 从[0, 5)中随机输出一个随机数
print(a)
print("------------------")

#  2、从数组、列表或元组中随机抽取N个数
list_1 = [1, 2, 3, 4, 5]  # list列表
tuple_1 = (6, 7, 8, 9)  # tuple元组
arr_1 = np.array([10, 11, 12])  # numpy,array数组,必须是一维的

print(np.random.choice(list_1, size=5))
print(np.random.choice(tuple_1, size=5))
print(np.random.choice(arr_1, size=5))

print("------------------")

print(np.random.choice(arr_1, size=5, p=[0.1, 0.6, 0.3]))
print(np.random.choice(tuple_1, size=5, p=[0.1, 0.6, 0.3, 0.7]))
输出:
3
------------------
[1 5 1 1 3]
[9 7 8 8 6]
[12 10 10 10 10]
------------------
[10 12 11 12 11]
Traceback (most recent call last):
  File "D:/PycharmProjects/untitled/数据分析/测试/test.py", line 45, in 
print(np.random.choice(tuple_1, size=5, p=[0.1, 0.6, 0.3, 0.7]))
  File "mtrand.pyx", line 932, in numpy.random.mtrand.RandomState.choice
ValueError: probabilities do not sum to 1
3.np.linspace()

np.linspace() 主要用于生成等差数列,相关参数如下:

  • start:起始点
  • stop:终止点 【包含】
  • num : 生成start和stop之间num个等差间隔的元素,默认50,
  • endpoint :生成等差间隔为 (stop - start)/num 的元素,默认为True
  • retstep:返回一个(array,num)元组,array是结果数组,num是间隔大小,默认False
  • dtype: 输出数组的类型。
# np.linspace
list_1 = np.linspace(0, 9)
list_2 = np.linspace(0, 9, num=10)
list_3 = np.linspace(0, 9, num=10, retstep=True)
list_4 = np.linspace(1, 9, num=10, endpoint=False)

print(list_1)
print("------------------------------------")
print(list_2)
print(list_3)
print("------------------------------------")
print(list_4)
输出:
[0.         0.18367347 0.36734694 0.55102041 0.73469388 0.91836735
 1.10204082 1.28571429 1.46938776 1.65306122 1.83673469 2.02040816
 2.20408163 2.3877551  2.57142857 2.75510204 2.93877551 3.12244898
 3.30612245 3.48979592 3.67346939 3.85714286 4.04081633 4.2244898
 4.40816327 4.59183673 4.7755102  4.95918367 5.14285714 5.32653061
 5.51020408 5.69387755 5.87755102 6.06122449 6.24489796 6.42857143
 6.6122449  6.79591837 6.97959184 7.16326531 7.34693878 7.53061224
 7.71428571 7.89795918 8.08163265 8.26530612 8.44897959 8.63265306
 8.81632653 9.        ]
------------------------------------
[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
(array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.]), 1.0)
------------------------------------
[1.  1.8 2.6 3.4 4.2 5.  5.8 6.6 7.4 8.2]
4. np.ceil() ,np.floor()
  • np.ceil() 向上取整,
  • np.floor()向下取整
a = np.array([1.2, 4.3, 5.6, 7.2, 8.1])
print(np.ceil(a))  # 向上取整,不是四舍五入
print(np.floor(a))  # 向下取整,不是四舍五入
输出:
[2. 5. 6. 8. 9.]
[1. 4. 5. 7. 8.]
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/341506.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号