《Python数据分析》一2.8 花式索引

简介:

本节书摘来自异步社区《Python数据分析》一书中的第2章,第2.8节,作者【印尼】Ivan Idris,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.8 花式索引

花式索引是一种传统的索引方法,它不使用整数或者切片。这里,我们将利用花式索引把莱娜照片对角线上的值全部置0,相当于沿着两条交叉的对角线画两条黑线。

为节约版面,下面代码中的注释已经删除,完整的代码请参考本书代码包中的fancy.py文件:

import scipy.misc
import matplotlib.pyplot as plt

lena = scipy.misc.lena()
xmax = lena.shape[0]
ymax = lena.shape[1]
lena[range(xmax), range(ymax)] = 0
lena[range(xmax-1,-1,-1), range(ymax)] = 0
plt.imshow(lena)
plt.show()

下面对上述代码进行简单说明。

1.将第一条对角线上的值设为0。

为了给对角线上的值置0,需要给x和y值(直角坐标系中的坐标)规定两个不同的范围:

lena[range(xmax), range(ymax)] = 0

2.将另一条对角线上的值设为0。

要设置另一条对角线上的值,需要规定两个不同的取值范围,但是规则不变:

lena[range(xmax-1,-1,-1), range(ymax)] = 0

划掉相片对角线后,最后得到图2-5所示的效果。


3b7a9ef42d5acb7078efd479a74a03f8db142315

我们给x和y规定了不同的取值范围,这些范围用来索引莱娜数组。花式索引是在一个内部的NumPy迭代器对象的基础上实现的,分3步完成。

(1)创建迭代器对象。

(2)将迭代器对象绑定到数组。

(3)经由迭代器访问数组元素,利用位置列表进行索引。

相关文章
|
3天前
|
数据采集 数据挖掘 数据处理
使用Python和Pandas进行数据分析基础
使用Python和Pandas进行数据分析基础
21 5
|
14天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
【8月更文挑战第29天】在数据驱动的时代,掌握数据分析技能变得尤为重要。本文将引导您了解如何使用Python这一强大工具来进行数据分析,从设置开发环境到实际操作案例,逐步深入,帮助您建立起数据分析的基本框架和思维模式。通过阅读本文,您将学会如何利用Python处理、分析和可视化数据,为进一步深入学习奠定坚实的基础。
|
2天前
|
数据挖掘 PyTorch TensorFlow
|
27天前
|
数据采集 算法 数据挖掘
10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战
LinkedIn 对全球超过3.3亿用户的工作经历和技能进行分析后得出,目前最炙手可热的25 项技能中,数据挖掘排名第一。那么数据挖掘是什么? 数据挖掘是从大量数据(包括文本)中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程。数据挖掘有助于企业发现业务的趋势,揭示已知的事实,预测未知的结果,因此“数据挖掘”已成为企业保持竞争力的必要方法。 今天给小伙伴们分享的Python数据分析与数据挖掘手册是10余位数据挖掘领域资深专家和科研人员,10余年大数据挖掘咨询与实施经验结晶。从数据挖掘的应用出发,以电力、
10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战
|
10天前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
【9月更文挑战第2天】数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
38 5
|
13天前
|
SQL 数据挖掘 API
ibis:极具潜力的Python数据分析新框架
ibis:极具潜力的Python数据分析新框架
|
14天前
|
数据可视化 数据挖掘 Python
Python中的数据可视化:探索性数据分析的利器
【8月更文挑战第29天】在数据科学的世界里,数据可视化是理解复杂数据集的关键。本文将引导你通过Python的强大库,如Matplotlib和Seaborn,来揭示数据背后的故事。我们将一起探索如何利用这些工具进行有效的数据可视化,从而促进对数据的深入理解和分析。文章不仅提供代码示例,还将讨论如何选择恰当的图表类型、调整视觉元素以及如何解释图表结果,旨在帮助初学者建立坚实的数据可视化基础。
|
25天前
|
数据采集 算法 数据挖掘
10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战
LinkedIn 对全球超过3.3亿用户的工作经历和技能进行分析后得出,目前最炙手可热的25 项技能中,数据挖掘排名第一。那么数据挖掘是什么? 数据挖掘是从大量数据(包括文本)中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程。数据挖掘有助于企业发现业务的趋势,揭示已知的事实,预测未知的结果,因此“数据挖掘”已成为企业保持竞争力的必要方法。 今天给小伙伴们分享的Python数据分析与数据挖掘手册是10余位数据挖掘领域资深专家和科研人员,10余年大数据挖掘咨询与实施经验结晶。从数据挖掘的应用出发,以电力、
|
22天前
|
算法 数据挖掘 数据处理
豆瓣评分8.7!Python pandas创始人亲码的数据分析入门手册!
在众多解释型语言中,Python最大的特点是拥有一个巨大而活跃的科学计算社区。进入21世纪以来,在行业应用和学术研究中采用python进行科学计算的势头越来越猛。 近年来,由于Python有不断改良的库(主要是pandas),使其成为数据处理任务的一大代替方案,结合其在通用编程方面的强大实力,完全可以只使用Python这一种语言去构建以数据为中心的应用程序。 作为一个科学计算平台,Python的成功源于能够轻松的集成C、C++以及Fortran代码。大部分现代计算机环境都利用了一些Fortran和C库来是西安线性代数、优选、积分、快速傅里叶变换以及其他诸如此类的算法。
|
23天前
|
算法 数据挖掘 数据处理
豆瓣评分8.7!Python pandas创始人亲码的数据分析入门手册!
在众多解释型语言中,Python最大的特点是拥有一个巨大而活跃的科学计算社区。进入21世纪以来,在行业应用和学术研究中采用python进行科学计算的势头越来越猛。 近年来,由于Python有不断改良的库(主要是pandas),使其成为数据处理任务的一大代替方案,结合其在通用编程方面的强大实力,完全可以只使用Python这一种语言去构建以数据为中心的应用程序。 作为一个科学计算平台,Python的成功源于能够轻松的集成C、C++以及Fortran代码。大部分现代计算机环境都利用了一些Fortran和C库来是西安线性代数、优选、积分、快速傅里叶变换以及其他诸如此类的算法。