首页 > 解决方案 > Python 列表列表,取每个索引元素的模

问题描述

我有一个 Python 列表

[[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 3 3 3]
[0 0 0 ... 4 4 4]
[1 2 1 ... 2 2 2]
[1 3 1 ... 3 3 3]
[1 4 1 ... 4 4 4]
[2 3 2 ... 3 3 3]
[2 4 2 ... 4 4 4]
[3 4 4 ... 4 4 4]]

我想采用每个索引的模式并创建一个列表。例如,对于索引 0,最常见的元素是 0,因此新列表应该具有该索引的 0。什么是最有效和最好的方法?我想将它们转换为 numpy 数组并处理数组,但无法弄清楚。

标签: pythonnumpy

解决方案


我假设你指的是mode

你可以使用scipy这个 -

data = np.random.randint(0,5,(100,9))
modes, counts = stats.mode(data, axis=1)

print('first row ->', data[0])
print('mode of first row ->', modes[0][0])
print('frequency ->', counts[0][0])
first row -> [0 0 1 2 1 2 4 1 1]
mode of first row -> 1
frequency -> 4

推荐阅读