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

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

数据分析之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.]

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4677265.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存