《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)经由迭代器访问数组元素,利用位置列表进行索引。

相关文章
|
1天前
|
数据可视化 数据挖掘 Python
Python中数据分析工具Matplotlib
【4月更文挑战第14天】Matplotlib是Python的数据可视化库,能生成多种图表,如折线图、柱状图等。以下是一个绘制简单折线图的代码示例: ```python import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.figure() plt.plot(x, y) plt.title('简单折线图') plt.xlabel('X轴') plt.ylabel('Y轴') plt.show() ```
5 1
|
1天前
|
数据采集 SQL 数据可视化
Python数据分析工具Pandas
【4月更文挑战第14天】Pandas是Python的数据分析库,提供Series和DataFrame数据结构,用于高效处理标记数据。它支持从多种数据源加载数据,包括CSV、Excel和SQL。功能包括数据清洗(处理缺失值、异常值)、数据操作(切片、过滤、分组)、时间序列分析及与Matplotlib等库集成进行数据可视化。其高性能底层基于NumPy,适合大型数据集处理。通过加载数据、清洗、分析和可视化,Pandas简化了数据分析流程。广泛的学习资源使其成为数据分析初学者的理想选择。
4 1
|
4天前
|
Python 数据挖掘 存储
Python 数据分析(PYDA)第三版(七)(4)
Python 数据分析(PYDA)第三版(七)
|
Python Shell 存储
Python 数据分析(PYDA)第三版(七)(3)
Python 数据分析(PYDA)第三版(七)
Python 数据分析(PYDA)第三版(七)(3)
|
机器学习/深度学习 数据可视化 Python
Python 数据分析(PYDA)第三版(六)(2)
Python 数据分析(PYDA)第三版(六)
|
机器学习/深度学习 Python 数据挖掘
Python 数据分析(PYDA)第三版(六)(1)
Python 数据分析(PYDA)第三版(六)
|
4天前
|
Python 数据格式 XML
Python 数据分析(PYDA)第三版(三)(1)
Python 数据分析(PYDA)第三版(三)
|
4天前
|
数据挖掘 索引 Python
Python 数据分析(PYDA)第三版(二)(3)
Python 数据分析(PYDA)第三版(二)
|
4天前
|
存储 数据挖掘 索引
Python 数据分析(PYDA)第三版(二)(1)
Python 数据分析(PYDA)第三版(二)
Python 数据分析(PYDA)第三版(二)(1)
|
4天前
|
数据挖掘 Python 索引
Python 数据分析(PYDA)第三版(一)(3)
Python 数据分析(PYDA)第三版(一)
Python 数据分析(PYDA)第三版(一)(3)