python - 统一随机数

标签 python numpy matplotlib

我想了解这段代码的作用。我正在查看一些有关 numpy 和绘图的示例,但我无法弄清楚 uv 是什么。我知道 u 是由两个数组组成的数组,每个数组的大小为 10000。v=u.max(axis=0) 有什么作用? max 函数是否被调用为标准 python 库的一部分?当我绘制直方图时,我得到一个由 2x 定义的 pdf,而不是正常的均匀分布。

import numpy as np
import numpy.random as rand
import matplotlib.pyplot as plt

np.random.seed(123)
u=rand.uniform(0,1,[2,10000])
v=u.max(axis=0)
plt.figure()
plt.hist(v,100,normed=1,color='blue')
plt.ylim([0,2])
plt.show()

最佳答案

u.max(),或等效的 np.max(u),将为您提供数组中的最大值 - 即一个单一的值(value)。这里是 Numpy 函数,不是标准库的一部分。您通常希望找到沿特定轴/维度的最大值,这就是此处发生的情况。

U 的形状为 (2,10000)u.max(axis=0) 为您提供沿 0 轴的最大值,返回一个形状为 (10000,) 的数组。如果您执行 u.max(axis=1),您将得到一个形状为 (2,) 的数组。

简单的说明/示例:

>>> a = np.array([[1,2],[3,4]])
>>> a
array([[1, 2],
       [3, 4]])
>>> a.max(axis=0)
array([3, 4])
>>> a.max(axis=1)
array([2, 4])
>>> a.max()
4

关于python - 统一随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15214430/

相关文章:

python - 具有不同 x 数据的堆栈图

python - AttributeError: 'module' 对象没有属性 'lowercase'

matplotlib - 如何在 matplotlib 中的 3d 条上绘制渐变填充

iphone - 在 iPhone 上运行 python/ruby 脚本?

python - 使用 python 绘制数千个文件

python ,同情 : How to output sympy expression as Python function?

python - 列表中的 Numpy 掩码

python - 从一个容器到另一个容器运行命令

python - opencv 通过关键点与拉伸(stretch)对齐两个图像

python - 当发送带有 UTF-8 字符的附件时,Flask 会引发 UnicodeEncodeError (latin-1)