楼主: casey_c
755 1

[程序分享] Python 复杂数组索引技巧 [推广有奖]

  • 0关注
  • 10粉丝

博士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
2.0091
学术水平
2 点
热心指数
15 点
信用等级
2 点
经验
11502 点
帖子
278
精华
0
在线时间
94 小时
注册时间
2016-11-22
最后登录
2022-5-2

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
Python 中有一些较为复杂与花哨的数组索引技巧
数值查看与数组构建

导入 Numpy 库,构造一个由随机数组成的列表:
  1. import numpy as np
  2. rand = np.random.RandomState(42)

  3. x = rand.randint(100, size=10)
  4. print(x)
复制代码
1.png
有时候我们需要选取列表中的元素,来构建新的列表:
  1. [x[3], x[7], x[2]]
复制代码
2.png
同样的效果也可以由构建一个索引列表 ind 的方式来实现:
  1. ind = [3, 7, 4]
  2. x[ind]
复制代码
3.png
这种方法同样适用于多维数组的构建:
  1. ind = np.array([[3, 7],
  2.                 [4, 5]])
  3. x[ind]
复制代码
4.png
特别地,对于一个二维数组,我们还可以将其作为一个矩阵,分别索引其行列上对应的元素,构建一个新的矩阵:
  1. X = np.arange(12).reshape((3, 4))
  2. X
复制代码
5.png
  1. row = np.array([0, 1, 2])
  2. col = np.array([2, 1, 3])
  3. X[row, col]
复制代码
6.png
  1. X[row[:, np.newaxis], col]
复制代码
7.png
  1. row[:, np.newaxis] * col
复制代码
8.png
  1. print(X)
复制代码
9.png
以上转自 数析学院 ,原文还包括赋值、运算等内容,感兴趣的同学可以直接访问网站查看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python reshape random import array 技巧

沙发
casey_c 发表于 2016-12-5 11:51:08 |只看作者 |坛友微信交流群

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-26 16:55