当我运行此代码时:

import numpy as np

a = np.array([1, 2, 3, 4, 5, 6])

print(np.where(a > 2))

获得一个指数数组是很自然的,其中一个> 2,即[2,3,4,5],但我们得到:

(array([2, 3, 4, 5], dtype=int64),)

即一个空的第二个成员的元组.

然后,为了获得numpy.where的“自然”答案,我们必须这样做:

np.where(a > 2)[0]

这个元组有什么意义?它在哪种情况下有用?

注意:我在这里只是谈论用例numpy.where(cond)而不是numpy.where(cond,x,y)也存在(参见文档).

最佳答案 numpy.where返回一个元组,因为元组的每个元素都引用一个维度.

在2个维度中考虑此示例:

a = np.array([[1, 2, 3, 4, 5, 6],

[-2, 1, 2, 3, 4, 5]])

print(np.where(a > 2))

(array([0, 0, 0, 0, 1, 1, 1], dtype=int64),

array([2, 3, 4, 5, 3, 4, 5], dtype=int64))

如您所见,元组的第一个元素是指相关元素的第一维;第二个元素指的是第二个维度.

这是一个经常使用的常规numpy.当你要求数组的形状时,你也会看到它,即一维数组的形状将返回一个带有1个元素的元组:

a = np.array([[1, 2, 3, 4, 5, 6],

[-2, 1, 2, 3, 4, 5]])

print(a.shape, a.ndim) # (2, 6) 2

b = np.array([1, 2, 3, 4, 5, 6])

print(b.shape, b.ndim) # (6,) 1

python返回元组_python – numpy.where返回一个元组的目的是什么?相关推荐

  1. if python 判断函数返回值_Python函数的返回值和作用域

    函数的返回值和作用域 1.返回值 def guess(x): if x > 3: return "> 3" else: return "<= 3&quo ...

  2. python os.system返回值_python os.system()返回值判断

    最近遇到os.system()执行系统命令的情况,上网搜集了一下资料,整理如下,以备不时之需,同时也希望能帮到某些人. 一.python中的 os.system(cmd)的返回值与linux命令返回值 ...

  3. python怎么调用函数的返回值_python函数的返回值是什么

    返回值简介 函数需要先定义后调用,函数体中 return 语句的结果就是返回值.如果一个函数没有 reutrn 语句,其实它有一个隐含的 return 语句,返回值是 None,类型也是 'NoneT ...

  4. python npv 计算公式_Python numpy 中常用的数据运算

    Numpy 精通面向数组编程和思维方式是成为Python科学计算大牛的一大关键步骤.--<利用Python进行数据分析> Numpy(Numerical Python)是Python科学计 ...

  5. python中字典列表元组_Python中的列表和元组

    python中字典列表元组 Lists and tuples are arguably Python's most versatile, useful data types. You will fin ...

  6. python中的列表和元组_Python中的列表和元组有什么区别?

    列表是可变序列,有许多方法(包括变异和非变异方法),最常用作通用容器(它们的项目可以是任何类型的对象,尽管它有时被认为是更好的列表样式具有相同类型或类型的项目等效使用). 元组是不可变的序列,只有很少 ...

  7. python输入整数_Python中实现输入一个整数的案例

    我就废话不多说了,大家还是直接看代码吧!Y76免费资源网 #! usr/bin/python3.5 # -*- coding:utf-8 -*- a = input("请输入一个整数:&qu ...

  8. python函数返回的元组_python – 从函数返回一个单独的元组元组

    刚刚在Python中遇到了这样一些奇怪的事情,并且认为我会将其记录为一个问题,以防其他任何人试图用相同的无效搜索条件找到答案 看起来像元组解包使得它不能返回长度为1的元组,如果您希望迭代返回值.虽然看 ...

  9. python writerow 返回值_python – .writerow()csv返回一个数字而不是写行

    我正在使用Python 3测试一些非常简单的代码.出于某种原因,下面的代码生成一个空输出,而不是写一行 import csv output = open('hello world.csv', 'w', ...

最新文章

  1. AD ---- 活动目录的日常管理操作
  2. python自动化运维平台能用php开发吗_关于数据库自动化运维平台的设计及开发实现思路...
  3. python astype(float)_Python astype(np.float)函数使用方法解析
  4. 存在于实数域的微观粒子4-能量可以转变为物质
  5. android permission权限与安全机制解析(上)
  6. 机器人学中的一些概念3——雅克比矩阵
  7. 安装完MAVEN后输入mvn -v, 提示不是内部命令的问题
  8. java 运行时类型_Java基础之RTTI 运行时类型识别
  9. 全局变量的异步I/O问题
  10. 佳能打印机g3800如何安装到计算机,佳能Canon PIXMA G3800 驱动
  11. matlab外接矩形,matlab求二值圖像最小外接矩形
  12. 蓝牙天线的一点小资料
  13. A - Silver Cow Party(最短路径+矩阵转换)
  14. 用Python搭建股票舆情分析系统
  15. RC串联延时电路电容充电时间计算
  16. linux rm rf 恢复删除文件,rm -rf 删除文件找回
  17. [转]仙剑4破解方法详解[图]
  18. Identifying Antioxidant Proteins by Using Optimal Dipeptide Compositions论文笔记
  19. Robocup2D入门笔记(2)——环境的配置与安装
  20. 计算机学院的师弟师妹们,请不要去餐馆打工了

热门文章

  1. 语音通话框架_教资公告还没出,普通话测试又要改革?
  2. python中深浅复制教程
  3. Python3基础教程:可变参数和关键字参数
  4. Python中用dict统计列表中元素出现的次数
  5. Python 中的hash
  6. Python的__getattribute__ vs __getattr__的妙用
  7. python排序的两个方法
  8. Python初学的几个迷惑点
  9. java销售_销售转向java编程的开始之路
  10. 局域网延时大怎么办?