当前位置: 首页 > 面试题库 >

numpy.mean在不同的行大小上

凌鹏程
2023-03-14
问题内容

当尺寸相同时,numpy Mean函数可以很好地工作。

a = np.array([[1, 2], [3, 4]])
a.mean(axis=1)
array([ 1.5,  3.5])

但是如果我用改变行大小来做到这一点就会出现错误

a = np.array([[1, 2], [3, 4, 5]])
a.mean(axis=1)
IndexError: tuple index out of range

我在文档中找不到有关此问题的任何内容。我可以自己计算平均值,但我想为此使用内置函数。


问题答案:

这是一种方法-

# Store length of each subarray
lens = np.array(map(len,a))

# Generate IDs based on the lengths
IDs = np.repeat(np.arange(len(lens)),lens)

# Use IDs to do bin-based summing of a elems and divide by subarray lengths
out = np.bincount(IDs,np.concatenate(a))/lens

样品运行-

In [34]: a   # Input array
Out[34]: array([[1, 2], [3, 4, 5]], dtype=object)

In [35]: lens = np.array(map(len,a))
    ...: IDs = np.repeat(np.arange(len(lens)),lens)
    ...: out = np.bincount(IDs,np.concatenate(a))/lens
    ...:

In [36]: out  # Average output
Out[36]: array([ 1.5,  4. ])

使用列表理解的更简单的替代方法-

In [38]: [np.mean(i) for i in a]
Out[38]: [1.5, 4.0]


 类似资料:
  • 问题内容: 我有这样的CSS声明: 这里的font1是嵌入式的eot / ttf字体,但问题是该字体比其他字体要小,所以我想为此字体(font1)使用不同的字体大小(1.8em)。所有其他字体(font2,font3)保持不变。 问题是,我无法验证用户的浏览器是使用font1,font2还是font3。是否有任何CSS声明允许不同家族使用不同的字体大小? 谢谢。 问题答案: 这里 是 一个办法做到

  • 以下是我遇到问题的tableViewController的代码:

  • 我们的app是服务不同的用户不同的上网,有的是很差的慢上网,有的是快速上网。 我们想下载和显示不同大小的图像相应。 对于那些差的互联网用户:下载并显示https://example.com/some-image.jpg?type=small对于那些好的互联网用户:下载并显示https://example.com/some-image.jpg?type=normal 我们怎么能这样做呢?有什么解决办

  • 我正在尝试以编程方式添加ImageView,但不要在不同的屏幕上制作相同的大小。我尝试了许多比例代码,但没有任何好的结果。 屏幕:屏幕图像 这是我的代码:

  • 然而,当我尝试在具有更大屏幕的工作站上运行时,JavaFX应用程序不会调整自身大小,并显示在屏幕的左上方当笔记本电脑/工作站屏幕大小不同时,我可以调整应用程序窗口的大小?

  • 我需要在一个图形中添加两个子图。一个子图的宽度必须是第二个子图的三倍(相同高度)。我使用和参数实现了这一点,但我想使用实现这一点,这样我就可以保存到PDF。我可以使用构造函数中的参数调整第一个图形,但是如何更改第二个绘图的大小?