jaffe—fly 2019-09-12 16:33 采纳率: 0%
浏览 1143
已采纳

np.where这个函数不太理解

aa = np.arange(10)
np.where(aa,1,-1)
array([-1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) # 0为False,所以第一个输出-1

疑问1,where函数的第一个参数为条件,把序列当成条件是什么意思?条件不是大于小于等这一类的吗?总之结果怎么来的

np.where([[True,False], [True,True]],

[[1,2], [3,4]],
[[9,8], [7,6]])
array([[1, 8],
[3, 4]])

疑问2,[[True,False], [True,True]]为条件,满足条件输出 [[1,2], [3,4]],不满足输出 [[9,8], [7,6]]。(where函数的用法是这样的),结果是怎么来的

np.where([[0, 1], [1, 0]])
(array([0, 1]), array([1, 0]))
上面这个例子条件中[[0,1],[1,0]]的真值为两个1,各自的第一维坐标为[0,1],第二维坐标为[1,0] 。

疑问3,这个结果和解释到底怎么来的

a = np.arange(27).reshape(3,3,3)
a
array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],

   [[ 9, 10, 11],
    [12, 13, 14],
    [15, 16, 17]],

   [[18, 19, 20],
    [21, 22, 23],
    [24, 25, 26]]])

np.where(a > 5)
(array([0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2]),
array([2, 2, 2, 0, 0, 0, 1, 1, 1, 2, 2, 2, 0, 0, 0, 1, 1, 1, 2, 2, 2]),
array([0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2]))

疑问4 这个结果得到的索引值也是完全看不懂

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-09-13 00:01
    关注

    https://www.cnblogs.com/massquantity/p/8908859.html

    aa = np.arange(10)
    np.where(aa,1,-1)
    相当于
    aa = np.arange(10)
    np.where(aa != 0,1,-1)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题