如何对numpy数组进行条件数组运算?

15 投票
2 回答
29397 浏览
提问于 2025-04-16 02:19

我想更好地理解numpy数组,所以我有一个关于它们的例子想问一下:

假设我有一个叫做a的numpy数组。我想对这个数组进行一个操作,把里面所有小于0的值都加1,而其他的值不变。例如,如果我有:

a = np.array([1,2,3,-1,-2,-3])

我希望返回:

([1,2,3,0,-1,-2])

这个操作用最简洁的写法是什么呢?

谢谢!

2 个回答

12

要修改它:

a[a<0] += 1

要保持原始数组不变:

a + (a<0)
41

在编程中,有时候我们需要把一些数据存储起来,以便后续使用。这就像把东西放进一个盒子里,等需要的时候再拿出来。

有些时候,我们可能会遇到一些问题,比如数据存储的方式不太合适,或者我们想要更方便地访问这些数据。这就需要我们考虑使用不同的方法来管理这些数据。

比如,有些人可能会选择使用数据库来存储数据,因为数据库可以帮助我们更好地组织和检索信息。就像一个图书馆,书籍被分类存放,想找一本书时可以很快找到。

另外,有些编程语言提供了特定的工具和库,帮助我们更轻松地处理数据。这些工具就像是一些小助手,让我们在编程时更加高效。

总之,数据存储和管理是编程中非常重要的一部分,了解这些基本概念可以帮助我们写出更好的代码。

In [45]: a = np.array([1,2,3,-1,-2,-3])

In [46]: a[a<0]+=1

In [47]: a
Out[47]: array([ 1,  2,  3,  0, -1, -2])

撰写回答