所以,假设我在python中有这个2D数组
a = [[1,2]
[2,3]
[3,2]
[1,3]]
如何获得具有相同行值的所有数组条目并将其存储在新矩阵中。例如,我将有
b = [1,2]
[1,3]
查询后。
我的方法是,b = [a[i] for i in a if a[i][0] == 1][0]]
但似乎没有用?
我是Python的新手,整个索引切片的事情有点令人困惑。谢谢!
由于标记了numpy,因此可以使用NumPy数组执行此任务。首先定义您的数组:
a = np.array([[1, 2],
[2, 3],
[3, 2],
[1, 3]])
对于第一列中的所有唯一值,您可以使用字典理解。这对于避免重复操作很有用。
d = {i: a[a[:, 0] == i] for i in np.unique(a[:, 0])}
{1: array([[1, 2],
[1, 3]]),
2: array([[2, 3]]),
3: array([[3, 2]])}
然后通过访问第一列等于1的数组d[1]
。
对于单个查询,您可以简单地使用a[a[:, 0] == 1]
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句