我将处理一个numpy数组并使其成为我想要的形式。
以下是源数组:
a = np.array([
[0, 1],
[0, 2],
[1, 1],
[1, 2],
[1, 3],
[2, 1]
])
结果数组如下:第一列元素保持不同,而第二列元素是与相关第一列元素的平均值。
详细解释:在数组a的第一列中有两个0,三个1和一个2元素。结果ret的第一列具有不重复的元素0/1/2。同时,当索引为0时,在a中第二列元素获得[1,2]的平均值或中位数,当索引为1时,在a中第二列元素获得[1,2,3]的平均值或中位数(忘记它们的类型)。
请注意,不确定a的第一列或第二列是否被视为索引序列。
ret = np.array([
[0, 1.5],
[1, 2.0],
[2, 1.0]
])
很抱歉我不知道。感谢您的回答。
ret
创建的代码,很难回答你的问题。所以,你能否编辑你的代码并展示一个最小化可复现代码示例来说明错误?同时,我们也不太明白你的需求,请问你能否提供一下你期望的ret
是什么样子的呢? - user2653663a
的第一列中,有两个0
,三个1
和一个2
元素。结果数组ret
的第一列具有不重复的元素0/1/2
。同时,当a
中索引为0
时,第二列元素获得[1,2]
的平均值或中位数;当索引为1
时,第二列元素获得[1,2,3]
的平均值或中位数(忘记它们的类型)。是否有使用numpy切片解决这个问题的方法,还是必须将2D numpy数组转换为列表或集合? - yuhenryret[1,1]
应该是2.0
而不是3.0
,对吗? - user2653663