【发布时间】:2018-09-01 09:25:03
【问题描述】:
假设我有一个 5x5 数组“A”。我想取该数组中五个元素的平均值。这些值之一可能是 Nan。我认为这样的事情会起作用:
np.nanmean(np.array([A[1,1], A[2, 2:3], A[3, 1:3]]))
但事实并非如此。我明白了
ValueError: setting an array element with a sequence.
我也尝试过连接、展平和使用列表而不是 np.array,但没有运气。
如果这个问题是重复的,我很抱歉。这似乎是一个简单的问题,但我无法弄清楚,而且我发现很难选择好的搜索词来在线找到解决方案。
【问题讨论】:
-
它是如何不起作用的,究竟是什么问题?你有什么错误吗?
-
我收到“ValueError: setting an array element with a sequence”。我也会在我的问题中添加它。
-
我不确定你为什么会收到那个 Value 错误机器人,它与你描述的问题无关。您正在从大小不一的切片创建一个数组,我相信这将导致以下值错误
ValueError: operands could not be broadcast together with shapes,至少在我的1.14.1numpy 版本中。 -
我现在尝试了下面的事情并得到了同样的错误: import numpy as np A = np.ones((5,5)) np.nanmean(np.array([A[1,1 ], A[2, 2:3], A[3, 1:3]])) 回溯(最近一次调用最后):文件“C:\Users\jorre\Anaconda3\lib\site-packages\IPython\core \interactiveshell.py”,第 2862 行,run_code exec(code_obj, self.user_global_ns, self.user_ns) 文件“
”,第 1 行,在 np.nanmean(np.array ([A[1,1], A[2, 2:3], A[3, 1:3]])) ValueError: setting an array element with a sequence.
标签: python arrays numpy nan mean