gpt4 book ai didi

python - 在python中获取具有相同值的所有行?

转载 作者:行者123 更新时间:2023-12-01 01:35:02 25 4
gpt4 key购买 nike

所以,假设我在 python 中有这个二维数组

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 数组执行此任务。首先定义你的数组:

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]])}

然后通过 d[1] 访问第一列等于 1 的数组。

对于单个查询,您可以简单地使用a[a[:, 0] == 1]

关于python - 在python中获取具有相同值的所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52467697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com