@@ -100,7 +100,7 @@ array([[ 0, 2, 4],
100100
101101### 跟踪索引或多索引
102102
103- 在迭代期间,您可能希望在计算中使用当前元素的索引 。 例如,您可能希望按内存顺序访问数组的元素 ,但使用C顺序,Fortran顺序或多维索引来查找不同数组中的值。
103+ 在迭代期间,你可能希望在计算中使用当前元素的索引 。 例如,你可能希望按内存顺序访问数组的元素 ,但使用C顺序,Fortran顺序或多维索引来查找不同数组中的值。
104104
105105Python迭代器协议没有一种从迭代器查询这些附加值的自然方法,因此我们引入了一种用`` nditer `` 迭代的替代语法。 此语法显式使用迭代器对象本身,因此在迭代期间可以轻松访问其属性。 使用此循环结构,可以通过索引到迭代器来访问当前值,并且正在跟踪的索引是属性索引或multi_index,具体取决于请求的内容。
106106
@@ -138,7 +138,7 @@ array([[ 0, 1, 2],
138138 [- 1 , 0 , 1 ]])
139139```
140140
141- 跟踪索引或多索引与使用外部循环不兼容,因为它需要每个元素具有不同的索引值。 如果您尝试组合这些标志 ,`` nditer `` 对象将引发异常
141+ 跟踪索引或多索引与使用外部循环不兼容,因为它需要每个元素具有不同的索引值。 如果你尝试组合这些标志 ,`` nditer `` 对象将引发异常
142142
143143** 例子**
144144
@@ -215,7 +215,7 @@ TypeError: Iterator operand required copying or buffering, but neither copying n
2152151.73205080757j 1.41421356237j 1j 0j (1 + 0j ) (1.41421356237 + 0j )
216216```
217217
218- 迭代器使用NumPy的转换规则来确定是否允许特定转换。 默认情况下,它会强制执行“安全”转换。 这意味着,例如,如果您尝试将64位浮点数组视为32位浮点数组 ,则会引发异常。 在许多情况下,规则'same_kind'是最合理的规则,因为它允许从64位转换为32位浮点数,但不允许从float转换为int或从complex转换为float。
218+ 迭代器使用NumPy的转换规则来确定是否允许特定转换。 默认情况下,它会强制执行“安全”转换。 这意味着,例如,如果你尝试将64位浮点数组视为32位浮点数组 ,则会引发异常。 在许多情况下,规则'same_kind'是最合理的规则,因为它允许从64位转换为32位浮点数,但不允许从float转换为int或从complex转换为float。
219219
220220** 例子**
221221
@@ -260,7 +260,7 @@ TypeError: Iterator requested dtype could not be cast from dtype('float64') to d
260260
261261## 广播数组迭代
262262
263- NumPy有一套规则来处理具有不同形状的数组,只要函数采用多个组合元素的操作数,就会应用这些规则。 这称为广播。 当您需要编写这样的函数时 ,`` nditer `` 对象可以为您应用这些规则 。
263+ NumPy有一套规则来处理具有不同形状的数组,只要函数采用多个组合元素的操作数,就会应用这些规则。 这称为广播。 当你需要编写这样的函数时 ,`` nditer `` 对象可以为你应用这些规则 。
264264
265265作为示例,我们打印出一维和二维阵列一起广播的结果。
266266
@@ -315,7 +315,7 @@ array([1, 4, 9])
315315
316316虽然我们正在使用它,但我们还会引入'no_broadcast'标志,这将阻止输出被广播。 这很重要,因为我们只需要每个输出一个输入值。 聚合多个输入值是减少操作,需要特殊处理。 它已经引发错误,因为必须在迭代器标志中显式启用减少,但是对于最终用户来说,禁用广播导致的错误消息更容易理解。 要了解如何将square函数推广到缩减,请查看有关Cython的部分中的平方和函数。
317317
318- 为了完整起见,我们还将添加'external_loop'和'buffered'标志,因为出于性能原因,这些标志通常是您需要的 。
318+ 为了完整起见,我们还将添加'external_loop'和'buffered'标志,因为出于性能原因,这些标志通常是你需要的 。
319319
320320** 例子**
321321
@@ -354,7 +354,7 @@ ValueError: non-broadcastable output operand with shape (3) doesn't match the br
354354
355355### 外部产品迭代
356356
357- 任何二进制操作都可以在外部以外部产品`` like `` 扩展到数组操作,而`` nditer `` 对象提供了一种通过显式映射操作数的轴来实现这一目的的方法。 也可以使用`` newaxis `` 索引来完成此操作,但我们将向您展示如何直接使用nditer op_axes参数来完成此操作而不使用中间视图。
357+ 任何二进制操作都可以在外部以外部产品`` like `` 扩展到数组操作,而`` nditer `` 对象提供了一种通过显式映射操作数的轴来实现这一目的的方法。 也可以使用`` newaxis `` 索引来完成此操作,但我们将向你展示如何直接使用nditer op_axes参数来完成此操作而不使用中间视图。
358358
359359我们将做一个简单的外部产品,将第一个操作数的尺寸放在第二个操作数的尺寸之前。 op_axes参数需要每个操作数的一个轴列表,并提供从迭代器轴到操作数轴的映射。
360360
@@ -540,7 +540,7 @@ def sum_squares_cy(arr, axis=None, out=None):
540540 return it.operands[1 ]
541541```
542542
543- 在这台机器上,将.pyx文件构建到模块中如下所示,但您可能需要找到一些Cython教程来告诉您系统配置的具体信息 :
543+ 在这台机器上,将.pyx文件构建到模块中如下所示,但你可能需要找到一些Cython教程来告诉你系统配置的具体信息 :
544544
545545``` sh
546546$ cython sum_squares.pyx
0 commit comments