提交 b16cc8cc 编写于 作者: W wizardforcel

init

上级

要显示的变更太多。

To preserve performance only 1000 of 1000+ files are displayed.
此差异已折叠。
此差异已折叠。
此差异已折叠。
<span id="arrays"></span><h1><span class="yiyi-st" id="yiyi-10">数组对象</span></h1>
<blockquote>
<p>原文:<a href="https://docs.scipy.org/doc/numpy/reference/arrays.html">https://docs.scipy.org/doc/numpy/reference/arrays.html</a></p>
<p>译者:<a href="https://github.com/wizardforcel">飞龙</a> <a href="http://usyiyi.cn/">UsyiyiCN</a></p>
<p>校对:(虚位以待)</p>
</blockquote>
<p><span class="yiyi-st" id="yiyi-11">NumPy提供一个N维数组类型<a class="reference internal" href="arrays.ndarray.html#arrays-ndarray"><span class="std std-ref">ndarray</span></a>,它描述相同类型的“元素”的集合。</span><span class="yiyi-st" id="yiyi-12">可以使用例如N个整数来对元素进行<a class="reference internal" href="arrays.indexing.html#arrays-indexing"><span class="std std-ref">索引</span></a></span></p>
<p><span class="yiyi-st" id="yiyi-13">所有ndarrays都是<span class="xref std std-term">同质的</span>:每个元素占用相同大小的内存块,并且所有块都以完全相同的方式解释。</span><span class="yiyi-st" id="yiyi-14">如何解释数组中的每个元素由单独的<a class="reference internal" href="arrays.dtypes.html#arrays-dtypes"><span class="std std-ref">数据类型对象</span></a>指定,每个数组与其中一个对象相关联。</span><span class="yiyi-st" id="yiyi-15">除了基本类型之外(整数、浮点<em>等等</em></span><span class="yiyi-st" id="yiyi-16">),数据类型对象也可以表示数据结构。</span></p>
<p><span class="yiyi-st" id="yiyi-17">从数组中提取的元素(<em>例如</em>通过索引)由一个Python对象表示,该对象的类型为NumPy中内置的<a class="reference internal" href="arrays.scalars.html#arrays-scalars"><span class="std std-ref">数组标量类型</span></a>之一。</span><span class="yiyi-st" id="yiyi-18">数组标量允许简单地处理更复杂的数据布置。</span></p>
<div class="figure" id="id1">
<img alt="../_images/threefundamental.png" src="../_images/threefundamental.png">
<p class="caption"><span class="yiyi-st" id="yiyi-19"><span class="caption-text"><strong></strong> 概念图,显示用于描述数组中的数据的三个基本对象之间的关系:(1)ndarray本身(2)数据类型对象,描述数组单个固定大小元素的布局(3)数组标量Python对象,在访问数组的单个元素时返回。</span></span></p>
</div>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><span class="yiyi-st" id="yiyi-27"><a class="reference internal" href="arrays.ndarray.html">N维数组(<code class="docutils literal"><span class="pre">ndarray</span></code></a></span><ul>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-20"><a class="reference internal" href="arrays.ndarray.html#constructing-arrays">构造数组</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-21"><a class="reference internal" href="arrays.ndarray.html#indexing-arrays">索引数组</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-22"><a class="reference internal" href="arrays.ndarray.html#internal-memory-layout-of-an-ndarray">ndarray的内部存储器布局</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-23"><a class="reference internal" href="arrays.ndarray.html#array-attributes">数组属性</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-24"><a class="reference internal" href="arrays.ndarray.html#array-methods">数组方法</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-25"><a class="reference internal" href="arrays.ndarray.html#arithmetic-matrix-multiplication-and-comparison-operations">算术,矩阵乘法和比较运算</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-26"><a class="reference internal" href="arrays.ndarray.html#special-methods">特殊方法</a></span></li>
</ul>
</li>
<li class="toctree-l1"><span class="yiyi-st" id="yiyi-33"><a class="reference internal" href="arrays.scalars.html">Scalars</a></span><ul>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-28"><a class="reference internal" href="arrays.scalars.html#built-in-scalar-types">内置标量类型</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-29"><a class="reference internal" href="arrays.scalars.html#attributes">属性</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-30"><a class="reference internal" href="arrays.scalars.html#indexing">索引</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-31"><a class="reference internal" href="arrays.scalars.html#methods">方法</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-32"><a class="reference internal" href="arrays.scalars.html#defining-new-types">定义新类型</a></span></li>
</ul>
</li>
<li class="toctree-l1"><span class="yiyi-st" id="yiyi-36"><a class="reference internal" href="arrays.dtypes.html">数据类型对象(<code class="docutils literal"><span class="pre">dtype</span></code></a></span><ul>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-34"><a class="reference internal" href="arrays.dtypes.html#specifying-and-constructing-data-types">指定和构造数据类型</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-35"><a class="reference internal" href="arrays.dtypes.html#dtype"><code class="docutils literal"><span class="pre">dtype</span></code></a></span></li>
</ul>
</li>
<li class="toctree-l1"><span class="yiyi-st" id="yiyi-42"><a class="reference internal" href="arrays.indexing.html">索引</a></span><ul>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-37"><a class="reference internal" href="arrays.indexing.html#basic-slicing-and-indexing">基本切片和索引</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-38"><a class="reference internal" href="arrays.indexing.html#advanced-indexing">高级索引</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-39"><a class="reference internal" href="arrays.indexing.html#detailed-notes">详细注释</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-40"><a class="reference internal" href="arrays.indexing.html#field-access">字段访问</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-41"><a class="reference internal" href="arrays.indexing.html#flat-iterator-indexing">平面迭代器索引</a></span></li>
</ul>
</li>
<li class="toctree-l1"><span class="yiyi-st" id="yiyi-46"><a class="reference internal" href="arrays.nditer.html">迭代数组</a></span><ul>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-43"><a class="reference internal" href="arrays.nditer.html#single-array-iteration">单个数组迭代</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-44"><a class="reference internal" href="arrays.nditer.html#broadcasting-array-iteration">广播数组迭代</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-45"><a class="reference internal" href="arrays.nditer.html#putting-the-inner-loop-in-cython">将内部循环置于Cython</a></span></li>
</ul>
</li>
<li class="toctree-l1"><span class="yiyi-st" id="yiyi-55"><a class="reference internal" href="arrays.classes.html">标准数组子类</a></span><ul>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-47"><a class="reference internal" href="arrays.classes.html#special-attributes-and-methods">特殊属性和方法</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-48"><a class="reference internal" href="arrays.classes.html#matrix-objects">矩阵对象</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-49"><a class="reference internal" href="arrays.classes.html#memory-mapped-file-arrays">内存映射文件数组</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-50"><a class="reference internal" href="arrays.classes.html#character-arrays-numpy-char">字符数组(<code class="docutils literal"><span class="pre">numpy.char</span></code></a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-51"><a class="reference internal" href="arrays.classes.html#record-arrays-numpy-rec">记录数组(<code class="docutils literal"><span class="pre">numpy.rec</span></code></a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-52"><a class="reference internal" href="arrays.classes.html#masked-arrays-numpy-ma">掩码数组(<code class="docutils literal"><span class="pre">numpy.ma</span></code></a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-53"><a class="reference internal" href="arrays.classes.html#standard-container-class">标准容器类</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-54"><a class="reference internal" href="arrays.classes.html#array-iterators">数组迭代器</a></span></li>
</ul>
</li>
<li class="toctree-l1"><span class="yiyi-st" id="yiyi-63"><a class="reference internal" href="maskedarray.html">掩码数组</a></span><ul>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-56"><a class="reference internal" href="maskedarray.generic.html"><code class="docutils literal"><span class="pre">numpy.ma</span></code>模块</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-57"><a class="reference internal" href="maskedarray.generic.html#using-numpy-ma">使用numpy.ma</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-58"><a class="reference internal" href="maskedarray.generic.html#examples">示例</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-59"><a class="reference internal" href="maskedarray.baseclass.html"><code class="docutils literal"><span class="pre">numpy.ma</span></code>模块的常量</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-60"><a class="reference internal" href="maskedarray.baseclass.html#the-maskedarray-class"><code class="docutils literal"><span class="pre">MaskedArray</span></code></a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-61"><a class="reference internal" href="maskedarray.baseclass.html#maskedarray-methods"><code class="docutils literal"><span class="pre">MaskedArray</span></code>方法</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-62"><a class="reference internal" href="routines.ma.html">屏蔽数组操作</a></span></li>
</ul>
</li>
<li class="toctree-l1"><span class="yiyi-st" id="yiyi-68"><a class="reference internal" href="arrays.interface.html">数组接口</a></span><ul>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-64"><a class="reference internal" href="arrays.interface.html#python-side">Python端</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-65"><a class="reference internal" href="arrays.interface.html#c-struct-access">C结构访问</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-66"><a class="reference internal" href="arrays.interface.html#type-description-examples">类型说明示例</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-67"><a class="reference internal" href="arrays.interface.html#differences-with-array-interface-version-2">与数组接口(版本2)的差异</a></span></li>
</ul>
</li>
<li class="toctree-l1"><span class="yiyi-st" id="yiyi-75"><a class="reference internal" href="arrays.datetime.html">Datetimes和Timedeltas</a></span><ul>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-69"><a class="reference internal" href="arrays.datetime.html#basic-datetimes">基本数据时间</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-70"><a class="reference internal" href="arrays.datetime.html#datetime-and-timedelta-arithmetic">日期时间和Timedelta算术</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-71"><a class="reference internal" href="arrays.datetime.html#datetime-units">日期时间单位</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-72"><a class="reference internal" href="arrays.datetime.html#business-day-functionality">工作日功能</a></span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-73"><a class="reference internal" href="arrays.datetime.html#changes-with-numpy-1-11">NumPy 1.11</a>更改</span></li>
<li class="toctree-l2"><span class="yiyi-st" id="yiyi-74"><a class="reference internal" href="arrays.datetime.html#differences-between-1-6-and-1-7-datetimes">1.6和1.7数据时间之间的差异</a></span></li>
</ul>
</li>
</ul>
</div>
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
<h1><span class="yiyi-st" id="yiyi-15">System configuration</span></h1>
<blockquote>
<p>原文:<a href="https://docs.scipy.org/doc/numpy/reference/c-api.config.html">https://docs.scipy.org/doc/numpy/reference/c-api.config.html</a></p>
<p>译者:<a href="https://github.com/wizardforcel">飞龙</a> <a href="http://usyiyi.cn/">UsyiyiCN</a></p>
<p>校对:(虚位以待)</p>
</blockquote>
<p><span class="yiyi-st" id="yiyi-16">当构建NumPy时,记录有关系统配置的信息,并使用NumPy的C API提供给扩展模块。</span><span class="yiyi-st" id="yiyi-17">这些主要在<code class="docutils literal"><span class="pre">numpyconfig.h</span></code>中定义(包括在<code class="docutils literal"><span class="pre">ndarrayobject.h</span></code>中)。</span><span class="yiyi-st" id="yiyi-18">公共符号前缀为<code class="docutils literal"><span class="pre">NPY_*</span></code></span><span class="yiyi-st" id="yiyi-19">NumPy还提供了一些查询有关所使用平台信息的功能。</span></p>
<p><span class="yiyi-st" id="yiyi-20">对于私人使用,NumPy还在NumPy包含目录中构造一个<code class="docutils literal"><span class="pre">config.h</span></code>,它不是由NumPy导出的(即使用numpy C API不会看到这些符号的python扩展),避免命名空间污染。</span></p>
<div class="section" id="data-type-sizes">
<h2><span class="yiyi-st" id="yiyi-21">Data type sizes</span></h2>
<p><span class="yiyi-st" id="yiyi-22">定义<code class="xref c c-data docutils literal"><span class="pre">NPY_SIZEOF_{CTYPE}</span></code>常量,以便信息sizeof可用于预处理器。</span></p>
<dl class="var">
<dt id="c.NPY_SIZEOF_SHORT"><span class="yiyi-st" id="yiyi-23"> <code class="descname">NPY_SIZEOF_SHORT</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_SIZEOF_INT"><span class="yiyi-st" id="yiyi-24"> <code class="descname">NPY_SIZEOF_INT</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_SIZEOF_LONG"><span class="yiyi-st" id="yiyi-25"> <code class="descname">NPY_SIZEOF_LONG</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_SIZEOF_LONGLONG"><span class="yiyi-st" id="yiyi-26"> <code class="descname">NPY_SIZEOF_LONGLONG</code></span></dt>
<dd><p><span class="yiyi-st" id="yiyi-27">sizeof(longlong)其中longlong在平台上适当定义。</span></p>
</dd></dl>
<dl class="var">
<dt id="c.NPY_SIZEOF_PY_LONG_LONG"><span class="yiyi-st" id="yiyi-28"> <code class="descname">NPY_SIZEOF_PY_LONG_LONG</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_SIZEOF_FLOAT"><span class="yiyi-st" id="yiyi-29"> <code class="descname">NPY_SIZEOF_FLOAT</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_SIZEOF_DOUBLE"><span class="yiyi-st" id="yiyi-30"> <code class="descname">NPY_SIZEOF_DOUBLE</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_SIZEOF_LONG_DOUBLE"><span class="yiyi-st" id="yiyi-31"> <code class="descname">NPY_SIZEOF_LONG_DOUBLE</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_SIZEOF_PY_INTPTR_T"><span class="yiyi-st" id="yiyi-32"> <code class="descname">NPY_SIZEOF_PY_INTPTR_T</code></span></dt>
<dd><p><span class="yiyi-st" id="yiyi-33">此平台上的指针大小(sizeof(void *))(宏也定义NPY_SIZEOF_INTP)。</span></p>
</dd></dl>
</div>
<div class="section" id="platform-information">
<h2><span class="yiyi-st" id="yiyi-34">Platform information</span></h2>
<dl class="var">
<dt id="c.NPY_CPU_X86"><span class="yiyi-st" id="yiyi-35"> <code class="descname">NPY_CPU_X86</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_CPU_AMD64"><span class="yiyi-st" id="yiyi-36"> <code class="descname">NPY_CPU_AMD64</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_CPU_IA64"><span class="yiyi-st" id="yiyi-37"> <code class="descname">NPY_CPU_IA64</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_CPU_PPC"><span class="yiyi-st" id="yiyi-38"> <code class="descname">NPY_CPU_PPC</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_CPU_PPC64"><span class="yiyi-st" id="yiyi-39"> <code class="descname">NPY_CPU_PPC64</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_CPU_SPARC"><span class="yiyi-st" id="yiyi-40"> <code class="descname">NPY_CPU_SPARC</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_CPU_SPARC64"><span class="yiyi-st" id="yiyi-41"> <code class="descname">NPY_CPU_SPARC64</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_CPU_S390"><span class="yiyi-st" id="yiyi-42"> <code class="descname">NPY_CPU_S390</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_CPU_PARISC"><span class="yiyi-st" id="yiyi-43"> <code class="descname">NPY_CPU_PARISC</code></span></dt>
<dd><div class="versionadded">
<p><span class="yiyi-st" id="yiyi-44"><span class="versionmodified">版本1.3.0中的新功能。</span></span></p>
</div>
<p><span class="yiyi-st" id="yiyi-45">CPU平台的架构;只定义了上述之一。</span></p>
<p><span class="yiyi-st" id="yiyi-46"><code class="docutils literal"><span class="pre">numpy/npy_cpu.h</span></code>中定义</span></p>
</dd></dl>
<dl class="var">
<dt id="c.NPY_LITTLE_ENDIAN"><span class="yiyi-st" id="yiyi-47"> <code class="descname">NPY_LITTLE_ENDIAN</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_BIG_ENDIAN"><span class="yiyi-st" id="yiyi-48"> <code class="descname">NPY_BIG_ENDIAN</code></span></dt>
<dd></dd></dl>
<dl class="var">
<dt id="c.NPY_BYTE_ORDER"><span class="yiyi-st" id="yiyi-49"> <code class="descname">NPY_BYTE_ORDER</code></span></dt>
<dd><div class="versionadded">
<p><span class="yiyi-st" id="yiyi-50"><span class="versionmodified">版本1.3.0中的新功能。</span></span></p>
</div>
<p><span class="yiyi-st" id="yiyi-51">便携式替代GNU Libc的<code class="docutils literal"><span class="pre">endian.h</span></code>宏。</span><span class="yiyi-st" id="yiyi-52">如果是big endian,<a class="reference internal" href="#c.NPY_BYTE_ORDER" title="NPY_BYTE_ORDER"><code class="xref c c-data docutils literal"><span class="pre">NPY_BYTE_ORDER</span></code></a> == <a class="reference internal" href="#c.NPY_BIG_ENDIAN" title="NPY_BIG_ENDIAN"><code class="xref c c-data docutils literal"><span class="pre">NPY_BIG_ENDIAN</span></code></a>,类似地对于小端体系结构。</span></p>
<p><span class="yiyi-st" id="yiyi-53"><code class="docutils literal"><span class="pre">numpy/npy_endian.h</span></code>中定义。</span></p>
</dd></dl>
<dl class="function">
<dt id="c.PyArray_GetEndianness"><span class="yiyi-st" id="yiyi-54"> <code class="descname">PyArray_GetEndianness</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt>
<dd><div class="versionadded">
<p><span class="yiyi-st" id="yiyi-55"><span class="versionmodified">版本1.3.0中的新功能。</span></span></p>
</div>
<p><span class="yiyi-st" id="yiyi-56">返回当前平台的字节顺序。</span><span class="yiyi-st" id="yiyi-57"><code class="xref c c-data docutils literal"><span class="pre">NPY_CPU_BIG</span></code><code class="xref c c-data docutils literal"><span class="pre">NPY_CPU_LITTLE</span></code><code class="xref c c-data docutils literal"><span class="pre">NPY_CPU_UNKNOWN_ENDIAN</span></code>中的一个。</span></p>
</dd></dl>
</div>
此差异已折叠。
<h1><span class="yiyi-st" id="yiyi-15">C API Deprecations</span></h1>
<blockquote>
<p>原文:<a href="https://docs.scipy.org/doc/numpy/reference/c-api.deprecations.html">https://docs.scipy.org/doc/numpy/reference/c-api.deprecations.html</a></p>
<p>译者:<a href="https://github.com/wizardforcel">飞龙</a> <a href="http://usyiyi.cn/">UsyiyiCN</a></p>
<p>校对:(虚位以待)</p>
</blockquote>
<div class="section" id="background">
<h2><span class="yiyi-st" id="yiyi-16">Background</span></h2>
<p><span class="yiyi-st" id="yiyi-17">NumPy为第三方扩展公开的API在多年的发行版中已经增长,并且允许程序员直接从C访问NumPy功能。该API最好被描述为“有机”。</span><span class="yiyi-st" id="yiyi-18">它已经从多个竞争的愿望和多年来的多个角度出现,强烈地影响了使用户容易移动到NumPy从Numeric和Numarray的愿望。</span><span class="yiyi-st" id="yiyi-19">核心API源于Numeric在1995年,有一些模式,如大量使用宏,写成模仿Python的C-API以及90年代后期的编译器技术。</span><span class="yiyi-st" id="yiyi-20">还有一小部分志愿者只有很少的时间花在改进这个API上。</span></p>
<p><span class="yiyi-st" id="yiyi-21">目前正在努力改进API。</span><span class="yiyi-st" id="yiyi-22">在这一努力中,确保为NumPy 1.X编译的代码继续编译为NumPy 1.X是很重要的。</span><span class="yiyi-st" id="yiyi-23">同时,某些API将被标记为已弃用,这样未来的代码可以避免这些API并遵循更好的做法。</span></p>
<p><span class="yiyi-st" id="yiyi-24">C API中的贬低标记所起的另一个重要作用是移向隐藏NumPy实现的内部细节。</span><span class="yiyi-st" id="yiyi-25">对于那些需要直接,容易,访问ndarrays的数据,这不会删除这个能力。</span><span class="yiyi-st" id="yiyi-26">相反,有许多潜在的性能优化,需要更改实现细节,NumPy开发人员已经无法尝试它们,因为保持ABI兼容性的高价值。</span><span class="yiyi-st" id="yiyi-27">通过废弃这种直接访问,我们将来将能够改善NumPy的性能,我们目前不能。</span></p>
</div>
<div class="section" id="deprecation-mechanism-npy-no-deprecated-api">
<h2><span class="yiyi-st" id="yiyi-28">Deprecation Mechanism NPY_NO_DEPRECATED_API</span></h2>
<p><span class="yiyi-st" id="yiyi-29">在C中,没有相当于Python支持的弃用警告。</span><span class="yiyi-st" id="yiyi-30">执行弃用的一种方法是在文档和发行说明中标记它们,然后在将来的主要版本(NumPy 2.0及更高版本)中删除或更改已弃用的功能。</span><span class="yiyi-st" id="yiyi-31">MinPy的小版本不应该有主要的C-API更改,但是,防止在以前的次版本上工作的代码。</span><span class="yiyi-st" id="yiyi-32">例如,我们将尽力确保编译和工作在NumPy 1.4的代码应该继续工作在NumPy 1.7(但也许与编译器警告)。</span></p>
<p><span class="yiyi-st" id="yiyi-33">要使用NPY_NO_DEPRECATED_API机制,您需要#define它到NumPy的目标API版本,然后才包括任何NumPy头。</span><span class="yiyi-st" id="yiyi-34">如果你想确认你的代码是干净的1.7,使用:</span></p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1">#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION</span>
</pre></div>
</div>
<p><span class="yiyi-st" id="yiyi-35">在支持#warning机制的编译器上,如果您没有定义符号NPY_NO_DEPRECATED_API,NumPy会发出编译器警告。</span><span class="yiyi-st" id="yiyi-36">这样,对于可能没有仔细阅读发行说明的第三方开发者,将标记出有废弃的事实。</span></p>
</div>
此差异已折叠。
<span id="c-api-generalized-ufuncs"></span><h1><span class="yiyi-st" id="yiyi-16">Generalized Universal Function API</span></h1>
<blockquote>
<p>原文:<a href="https://docs.scipy.org/doc/numpy/reference/c-api.generalized-ufuncs.html">https://docs.scipy.org/doc/numpy/reference/c-api.generalized-ufuncs.html</a></p>
<p>译者:<a href="https://github.com/wizardforcel">飞龙</a> <a href="http://usyiyi.cn/">UsyiyiCN</a></p>
<p>校对:(虚位以待)</p>
</blockquote>
<p><span class="yiyi-st" id="yiyi-17">通常需要不仅循环不仅是标量上的函数,而且还包括向量(或数组)上的函数。</span><span class="yiyi-st" id="yiyi-18">这个概念在NumPy中通过泛化通用函数(ufuncs)来实现。</span><span class="yiyi-st" id="yiyi-19">在常规ufuncs中,基本函数限于逐个元素操作,而广义版本(gufuncs)通过“子数组”操作支持“子数组”。</span><span class="yiyi-st" id="yiyi-20">Perl向量库PDL提供了类似的功能,其术语在下面被重复使用。</span></p>
<p><span class="yiyi-st" id="yiyi-21">每个广义ufunc具有与其相关联的信息,其具有输入的“核心”维度以及输出的对应维度(元素方式ufunc具有零核心维度)。</span><span class="yiyi-st" id="yiyi-22">所有参数的核心维度列表称为ufunc的“签名”。</span><span class="yiyi-st" id="yiyi-23">例如,ufunc numpy.add具有定义两个标量输入和一个标量输出的签名<code class="docutils literal"><span class="pre">(),()-&gt;()</span></code></span></p>
<p><span class="yiyi-st" id="yiyi-24">Another example is the function <code class="docutils literal"><span class="pre">inner1d(a,</span> <span class="pre">b)</span></code> with a signature of <code class="docutils literal"><span class="pre">(i),(i)-&gt;()</span></code>. </span><span class="yiyi-st" id="yiyi-25">这将沿着每个输入的最后一个轴应用内积,但保持其余索引完整。</span><span class="yiyi-st" id="yiyi-26">例如,其中<code class="docutils literal"><span class="pre">a</span></code>是形状<code class="docutils literal"><span class="pre">(3,</span> <span class="pre">5,</span> <span class="pre">N)</span></code><code class="docutils literal"><span class="pre">b</span></code>的形状为<code class="docutils literal"><span class="pre">(5,</span> <span class="pre">N)</span></code>,将返回形状<code class="docutils literal"><span class="pre">(3,5)</span></code></span><span class="yiyi-st" id="yiyi-27">底层基本函数称为<code class="docutils literal"><span class="pre">3</span> <span class="pre">*</span> <span class="pre">5</span></code>次。</span><span class="yiyi-st" id="yiyi-28">在签名中,我们为每个输入指定一个核心维度<code class="docutils literal"><span class="pre">(i)</span></code>,对于输出指定零个核心维度<code class="docutils literal"><span class="pre">()</span></code>,因为它需要两个1-d数组,标量。</span><span class="yiyi-st" id="yiyi-29">通过使用相同的名称<code class="docutils literal"><span class="pre">i</span></code>,我们指定两个相应的尺寸应具有相同的大小。</span></p>
<p><span class="yiyi-st" id="yiyi-30">超过核心尺寸的尺寸称为“环”尺寸。</span><span class="yiyi-st" id="yiyi-31">在上述示例中,这对应于<code class="docutils literal"><span class="pre">(3,</span> <span class="pre">5)</span></code></span></p>
<p><span class="yiyi-st" id="yiyi-32">签名确定每个输入/输出数组的尺寸如何分割为核心和环路尺寸:</span></p>
<ol class="arabic simple">
<li><span class="yiyi-st" id="yiyi-33">签名中的每个维度都与对应的传入数组的维度相匹配,从形状元组的结尾开始。</span><span class="yiyi-st" id="yiyi-34">这些是核心维度,它们必须存在于数组中,否则会引发错误。</span></li>
<li><span class="yiyi-st" id="yiyi-35">Core dimensions assigned to the same label in the signature (e.g. the <code class="docutils literal"><span class="pre">i</span></code> in <code class="docutils literal"><span class="pre">inner1d</span></code>‘s <code class="docutils literal"><span class="pre">(i),(i)-&gt;()</span></code>) must have exactly matching sizes, no broadcasting is performed.</span></li>
<li><span class="yiyi-st" id="yiyi-36">核心维度从所有输入中删除,剩余维度一起广播,定义循环维度。</span></li>
<li><span class="yiyi-st" id="yiyi-37">每个输出的形状由回路尺寸加上输出的核心尺寸确定</span></li>
</ol>
<p><span class="yiyi-st" id="yiyi-38">通常,输出中所有核心维度的大小将由输入数组中具有相同标签的核心维度的大小确定。</span><span class="yiyi-st" id="yiyi-39">这不是一个要求,并且可以在输出中首次定义标签时定义签名,但是当调用这样的函数时必须采取一些预防措施。</span><span class="yiyi-st" id="yiyi-40">An example would be the function <code class="docutils literal"><span class="pre">euclidean_pdist(a)</span></code>, with signature <code class="docutils literal"><span class="pre">(n,d)-&gt;(p)</span></code>, that given an array of <code class="docutils literal"><span class="pre">n</span></code> <code class="docutils literal"><span class="pre">d</span></code>-dimensional vectors, computes all unique pairwise Euclidean distances among them. </span><span class="yiyi-st" id="yiyi-41">输出尺寸<code class="docutils literal"><span class="pre">p</span></code>因此必须等于<code class="docutils literal"><span class="pre">n</span> <span class="pre">*</span> <span class="pre">(n</span> <span class="pre">t6&gt; <span class="pre">1)</span> <span class="pre">/</span> <span class="pre">2</span></span></code>,但是呼叫者负责传递正确大小的输出数组。</span><span class="yiyi-st" id="yiyi-42">如果不能从传入的输入或输出数组中确定输出的核心维度的大小,则会出现错误。</span></p>
<p><span class="yiyi-st" id="yiyi-43">注意:在NumPy 1.10.0之前,不太严格的检查:缺少核心维度是通过根据需要将1预先添加到形状中创建的,具有相同标签的核心维度一起广播,未确定的维度使用大小1创建。</span></p>
<div class="section" id="definitions">
<h2><span class="yiyi-st" id="yiyi-44">Definitions</span></h2>
<dl class="docutils">
<dt><span class="yiyi-st" id="yiyi-45">基本功能</span></dt>
<dd><span class="yiyi-st" id="yiyi-46">每个ufunc由一个基本函数组成,该函数对数组参数的最小部分执行最基本的操作(例如,添加两个数字是添加两个数组的最基本的操作)。</span><span class="yiyi-st" id="yiyi-47">ufunc在数组的不同部分上多次应用基本函数。</span><span class="yiyi-st" id="yiyi-48">基本函数的输入/输出可以是向量;例如,inner1d的基本函数采用两个向量作为输入。</span></dd>
<dt><span class="yiyi-st" id="yiyi-49">签名</span></dt>
<dd><span class="yiyi-st" id="yiyi-50">签名是描述ufunc的基本函数的输入/输出维度的字符串。</span><span class="yiyi-st" id="yiyi-51">有关详细信息,请参阅下面的部分。</span></dd>
<dt><span class="yiyi-st" id="yiyi-52">核心维度</span></dt>
<dd><span class="yiyi-st" id="yiyi-53">基本函数的每个输入/输出的维数由其核心维度(零核心维度对应于标量输入/输出)来定义。</span><span class="yiyi-st" id="yiyi-54">核心维度映射到输入/输出数组的最后一个维度。</span></dd>
<dt><span class="yiyi-st" id="yiyi-55">尺寸名称</span></dt>
<dd><span class="yiyi-st" id="yiyi-56">维度名称表示签名中的核心维度。</span><span class="yiyi-st" id="yiyi-57">不同的维度可以共享名称,指示它们具有相同的大小。</span></dd>
<dt><span class="yiyi-st" id="yiyi-58">维度索引</span></dt>
<dd><span class="yiyi-st" id="yiyi-59">维度索引是表示维度名称的整数。</span><span class="yiyi-st" id="yiyi-60">它根据签名中每个名称第一次出现的顺序枚举维名称。</span></dd>
</dl>
</div>
<div class="section" id="details-of-signature">
<h2><span class="yiyi-st" id="yiyi-61">Details of Signature</span></h2>
<p><span class="yiyi-st" id="yiyi-62">签名定义了输入和输出变量的“核心”维度,从而也定义了维度的收缩。</span><span class="yiyi-st" id="yiyi-63">签名由以下格式的字符串表示:</span></p>
<ul class="simple">
<li><span class="yiyi-st" id="yiyi-64">每个输入或输出数组的核心维度由括号中的维名称列表<code class="docutils literal"><span class="pre">(i_1,...,i_N)</span></code>表示;标量输入/输出由<code class="docutils literal"><span class="pre">()</span></code>表示。</span><span class="yiyi-st" id="yiyi-65">代替<code class="docutils literal"><span class="pre">i_1</span></code><code class="docutils literal"><span class="pre">i_2</span></code>等,可以使用任何有效的Python变量名称。</span></li>
<li><span class="yiyi-st" id="yiyi-66">不同参数的维列表由<code class="docutils literal"><span class="pre">&quot;,&quot;</span></code>“分隔。</span><span class="yiyi-st" id="yiyi-67">输入/输出参数由<code class="docutils literal"><span class="pre">&quot;-&gt;&quot;</span></code>分隔。</span></li>
<li><span class="yiyi-st" id="yiyi-68">如果在多个位置使用相同的维度名称,则会强制使用相同尺寸的相应维度。</span></li>
</ul>
<p><span class="yiyi-st" id="yiyi-69">签名的形式语法如下:</span></p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">&lt;</span><span class="n">Signature</span><span class="o">&gt;</span> <span class="p">::</span><span class="o">=</span> <span class="o">&lt;</span><span class="n">Input</span> <span class="n">arguments</span><span class="o">&gt;</span> <span class="s2">&quot;-&gt;&quot;</span> <span class="o">&lt;</span><span class="n">Output</span> <span class="n">arguments</span><span class="o">&gt;</span>
<span class="o">&lt;</span><span class="n">Input</span> <span class="n">arguments</span><span class="o">&gt;</span> <span class="p">::</span><span class="o">=</span> <span class="o">&lt;</span><span class="n">Argument</span> <span class="nb">list</span><span class="o">&gt;</span>
<span class="o">&lt;</span><span class="n">Output</span> <span class="n">arguments</span><span class="o">&gt;</span> <span class="p">::</span><span class="o">=</span> <span class="o">&lt;</span><span class="n">Argument</span> <span class="nb">list</span><span class="o">&gt;</span>
<span class="o">&lt;</span><span class="n">Argument</span> <span class="nb">list</span><span class="o">&gt;</span> <span class="p">::</span><span class="o">=</span> <span class="n">nil</span> <span class="o">|</span> <span class="o">&lt;</span><span class="n">Argument</span><span class="o">&gt;</span> <span class="o">|</span> <span class="o">&lt;</span><span class="n">Argument</span><span class="o">&gt;</span> <span class="s2">&quot;,&quot;</span> <span class="o">&lt;</span><span class="n">Argument</span> <span class="nb">list</span><span class="o">&gt;</span>
<span class="o">&lt;</span><span class="n">Argument</span><span class="o">&gt;</span> <span class="p">::</span><span class="o">=</span> <span class="s2">&quot;(&quot;</span> <span class="o">&lt;</span><span class="n">Core</span> <span class="n">dimension</span> <span class="nb">list</span><span class="o">&gt;</span> <span class="s2">&quot;)&quot;</span>
<span class="o">&lt;</span><span class="n">Core</span> <span class="n">dimension</span> <span class="nb">list</span><span class="o">&gt;</span> <span class="p">::</span><span class="o">=</span> <span class="n">nil</span> <span class="o">|</span> <span class="o">&lt;</span><span class="n">Dimension</span> <span class="n">name</span><span class="o">&gt;</span> <span class="o">|</span>
<span class="o">&lt;</span><span class="n">Dimension</span> <span class="n">name</span><span class="o">&gt;</span> <span class="s2">&quot;,&quot;</span> <span class="o">&lt;</span><span class="n">Core</span> <span class="n">dimension</span> <span class="nb">list</span><span class="o">&gt;</span>
<span class="o">&lt;</span><span class="n">Dimension</span> <span class="n">name</span><span class="o">&gt;</span> <span class="p">::</span><span class="o">=</span> <span class="n">valid</span> <span class="n">Python</span> <span class="n">variable</span> <span class="n">name</span>
</pre></div>
</div>
<p><span class="yiyi-st" id="yiyi-70">笔记:</span></p>
<ol class="arabic simple">
<li><span class="yiyi-st" id="yiyi-71">所有报价都是为了清楚。</span></li>
<li><span class="yiyi-st" id="yiyi-72">共享相同名称的核心维度必须具有完全相同的大小。</span><span class="yiyi-st" id="yiyi-73">每个维度名称通常对应于基本函数实现中的一个循环级。</span></li>
<li><span class="yiyi-st" id="yiyi-74">空白被忽略。</span></li>
</ol>
<p><span class="yiyi-st" id="yiyi-75">这里有一些签名的例子:</span></p>
<table border="1" class="docutils">
<colgroup>
<col width="18%">
<col width="33%">
<col width="49%">
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><span class="yiyi-st" id="yiyi-76"></span></td>
<td><span class="yiyi-st" id="yiyi-77"><code class="docutils literal"><span class="pre">(),()-&gt;()</span></code></span></td>
<td>&#xA0;</td>
</tr>
<tr class="row-even"><td><span class="yiyi-st" id="yiyi-78">inner1d</span></td>
<td><span class="yiyi-st" id="yiyi-79"><code class="docutils literal"><span class="pre">(i),(i)-&gt;()</span></code></span></td>
<td>&#xA0;</td>
</tr>
<tr class="row-odd"><td><span class="yiyi-st" id="yiyi-80">sum1d</span></td>
<td><span class="yiyi-st" id="yiyi-81"><code class="docutils literal"><span class="pre">(i)-&gt;()</span></code></span></td>
<td>&#xA0;</td>
</tr>
<tr class="row-even"><td><span class="yiyi-st" id="yiyi-82">dot2d</span></td>
<td><span class="yiyi-st" id="yiyi-83"><code class="docutils literal"><span class="pre">(m,n),(n,p)-&gt;(m,p)</span></code></span></td>
<td><span class="yiyi-st" id="yiyi-84">矩阵乘法</span></td>
</tr>
<tr class="row-odd"><td><span class="yiyi-st" id="yiyi-85">outer_inner</span></td>
<td><span class="yiyi-st" id="yiyi-86"><code class="docutils literal"><span class="pre">(i,t),(j,t)-&gt;(i,j)</span></code></span></td>
<td><span class="yiyi-st" id="yiyi-87">内部在最后一维,外部在第二到最后,和循环/广播在休息。</span></td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="c-api-for-implementing-elementary-functions">
<h2><span class="yiyi-st" id="yiyi-88">C-API for implementing Elementary Functions</span></h2>
<p><span class="yiyi-st" id="yiyi-89">当前接口保持不变,并且<code class="docutils literal"><span class="pre">PyUFunc_FromFuncAndData</span></code>仍然可以用于实现(专用)ufunc,由标量基本函数组成。</span></p>
<p><span class="yiyi-st" id="yiyi-90">可以使用<code class="docutils literal"><span class="pre">PyUFunc_FromFuncAndDataAndSignature</span></code>来声明一个更通用的ufunc。</span><span class="yiyi-st" id="yiyi-91">参数列表与<code class="docutils literal"><span class="pre">PyUFunc_FromFuncAndData</span></code>相同,还有一个参数将签名指定为C字符串。</span></p>
<p><span class="yiyi-st" id="yiyi-92">此外,回调函数的类型与之前相同,<code class="docutils literal"><span class="pre">void</span> <span class="pre">(* foo)(char</span> <span class="pre">** args,</span> <span class="pre"> intp</span> <span class="pre">* dimensions,</span> <span class="pre">intp</span> <span class="pre">* steps,</span> <span class="pre">void</span> <span class="pre">* func) t9&gt;</span></code></span><span class="yiyi-st" id="yiyi-93">当调用时,<code class="docutils literal"><span class="pre">args</span></code>是包含所有输入/输出参数的数据的长度<code class="docutils literal"><span class="pre">nargs</span></code>的列表。</span><span class="yiyi-st" id="yiyi-94">对于标量基本函数,<code class="docutils literal"><span class="pre">steps</span></code>也具有长度<code class="docutils literal"><span class="pre">nargs</span></code>,表示用于参数的步幅。</span><span class="yiyi-st" id="yiyi-95"><code class="docutils literal"><span class="pre">dimensions</span></code>是指向定义要循环的轴的大小的单个整数的指针。</span></p>
<p><span class="yiyi-st" id="yiyi-96">对于非平凡签名,<code class="docutils literal"><span class="pre">dimensions</span></code>也将包含核心维度的大小,从第二个条目开始。</span><span class="yiyi-st" id="yiyi-97">每个唯一维度名称仅提供一个大小,并且大小根据签名中维度名称的第一次出现而给出。</span></p>
<p><span class="yiyi-st" id="yiyi-98"><code class="docutils literal"><span class="pre">steps</span></code>的第一个<code class="docutils literal"><span class="pre">nargs</span></code>元素保持与标量ufuncs相同。</span><span class="yiyi-st" id="yiyi-99">以下元素按顺序包含所有参数的所有核心维度的步长。</span></p>
<p><span class="yiyi-st" id="yiyi-100">例如,考虑具有签名<code class="docutils literal"><span class="pre">(i,j),(i)-&gt;()</span></code>的ufunc。</span><span class="yiyi-st" id="yiyi-101">In this case, <code class="docutils literal"><span class="pre">args</span></code> will contain three pointers to the data of the input/output arrays <code class="docutils literal"><span class="pre">a</span></code>, <code class="docutils literal"><span class="pre">b</span></code>, <code class="docutils literal"><span class="pre">c</span></code>. Furthermore, <code class="docutils literal"><span class="pre">dimensions</span></code> will be <code class="docutils literal"><span class="pre">[N,</span> <span class="pre">I,</span> <span class="pre">J]</span></code> to define the size of <code class="docutils literal"><span class="pre">N</span></code> of the loop and the sizes <code class="docutils literal"><span class="pre">I</span></code> and <code class="docutils literal"><span class="pre">J</span></code> for the core dimensions <code class="docutils literal"><span class="pre">i</span></code> and <code class="docutils literal"><span class="pre">j</span></code>. </span><span class="yiyi-st" id="yiyi-102">最后,<code class="docutils literal"><span class="pre">steps</span></code>将是<code class="docutils literal"><span class="pre">[a_N,</span> <span class="pre">b_N,</span> <span class="pre">c_N,</span> <span class="pre">a_i, t6&gt; <span class="pre">a_j,</span> <span class="pre">b_i]</span></span></code>,包含所有必要的步幅。</span></p>
</div>
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
<h1><span class="yiyi-st" id="yiyi-13">numpy.DataSource.abspath</span></h1>
<blockquote>
<p>原文:<a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.DataSource.abspath.html">https://docs.scipy.org/doc/numpy/reference/generated/numpy.DataSource.abspath.html</a></p>
<p>译者:<a href="https://github.com/wizardforcel">飞龙</a> <a href="http://usyiyi.cn/">UsyiyiCN</a></p>
<p>校对:(虚位以待)</p>
</blockquote>
<dl class="method">
<dt id="numpy.DataSource.abspath"><span class="yiyi-st" id="yiyi-14"> <code class="descclassname">DataSource.</code><code class="descname">abspath</code><span class="sig-paren">(</span><em>path</em><span class="sig-paren">)</span><a class="reference external" href="http://github.com/numpy/numpy/blob/v1.11.3/numpy/lib/_datasource.py#L343-L386"><span class="viewcode-link">[source]</span></a></span></dt>
<dd><p><span class="yiyi-st" id="yiyi-15">返回DataSource目录中文件的绝对路径。</span></p>
<p><span class="yiyi-st" id="yiyi-16">如果<em class="xref py py-obj">path</em>是URL,则<a class="reference internal" href="#numpy.DataSource.abspath" title="numpy.DataSource.abspath"><code class="xref py py-obj docutils literal"><span class="pre">abspath</span></code></a>将返回文件在本地存在的位置或使用<a class="reference internal" href="numpy.DataSource.open.html#numpy.DataSource.open" title="numpy.DataSource.open"><code class="xref py py-obj docutils literal"><span class="pre">open</span></code></a>方法打开时将存在的位置。</span></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name">
<col class="field-body">
<tbody valign="top">
<tr class="field-odd field"><th class="field-name"><span class="yiyi-st" id="yiyi-17">参数:</span></th><td class="field-body"><p class="first"><span class="yiyi-st" id="yiyi-18"><strong>路径</strong>:str</span></p>
<blockquote>
<div><p><span class="yiyi-st" id="yiyi-19">可以是本地文件或远程URL。</span></p>
</div></blockquote>
</td>
</tr>
<tr class="field-even field"><th class="field-name"><span class="yiyi-st" id="yiyi-20">返回:</span></th><td class="field-body"><p class="first"><span class="yiyi-st" id="yiyi-21"><strong>out</strong>:str</span></p>
<blockquote class="last">
<div><p><span class="yiyi-st" id="yiyi-22">完成路径,包括<a class="reference internal" href="numpy.DataSource.html#numpy.DataSource" title="numpy.DataSource"><code class="xref py py-obj docutils literal"><span class="pre">DataSource</span></code></a>目标目录。</span></p>
</div></blockquote>
</td>
</tr>
</tbody>
</table>
<p class="rubric"><span class="yiyi-st" id="yiyi-23">笔记</span></p>
<p><span class="yiyi-st" id="yiyi-24">该功能基于<a class="reference external" href="https://docs.python.org/dev/library/os.path.html#os.path.abspath" title="(in Python v3.7)"><code class="xref py py-obj docutils literal"><span class="pre">os.path.abspath</span></code></a></span></p>
</dd></dl>
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
<h1><span class="yiyi-st" id="yiyi-13">numpy.broadcast.next</span></h1>
<blockquote>
<p>原文:<a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.broadcast.next.html">https://docs.scipy.org/doc/numpy/reference/generated/numpy.broadcast.next.html</a></p>
<p>译者:<a href="https://github.com/wizardforcel">飞龙</a> <a href="http://usyiyi.cn/">UsyiyiCN</a></p>
<p>校对:(虚位以待)</p>
</blockquote>
<dl class="attribute">
<dt id="numpy.broadcast.next"><span class="yiyi-st" id="yiyi-14"> <code class="descclassname">broadcast.</code><code class="descname">next</code></span></dt>
<dd></dd></dl>
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
<h1><span class="yiyi-st" id="yiyi-13">numpy.busdaycalendar.holidays</span></h1>
<blockquote>
<p>原文:<a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.busdaycalendar.holidays.html">https://docs.scipy.org/doc/numpy/reference/generated/numpy.busdaycalendar.holidays.html</a></p>
<p>译者:<a href="https://github.com/wizardforcel">飞龙</a> <a href="http://usyiyi.cn/">UsyiyiCN</a></p>
<p>校对:(虚位以待)</p>
</blockquote>
<dl class="attribute">
<dt id="numpy.busdaycalendar.holidays"><span class="yiyi-st" id="yiyi-14"> <code class="descclassname">busdaycalendar.</code><code class="descname">holidays</code></span></dt>
<dd><p><span class="yiyi-st" id="yiyi-15">假日数组的副本,表示额外的无效天数。</span></p>
</dd></dl>
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册