


<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>pyarrow.Int8Array &mdash; Apache Arrow v2.0.0</title>
  

  
  <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />

  
  
  
  

  
  <!--[if lt IE 9]>
    <script src="../../_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
        <script src="../../_static/jquery.js"></script>
        <script src="../../_static/underscore.js"></script>
        <script src="../../_static/doctools.js"></script>
        <script src="../../_static/language_data.js"></script>
    
    <script type="text/javascript" src="../../_static/js/theme.js"></script>

    
    <link rel="canonical" href="https://arrow.apache.org/docs/python/generated/pyarrow.Int8Array.html" />
    <link rel="index" title="Index" href="../../genindex.html" />
    <link rel="search" title="Search" href="../../search.html" />
    <link rel="next" title="pyarrow.Int16Array" href="pyarrow.Int16Array.html" />
    <link rel="prev" title="pyarrow.IntegerArray" href="pyarrow.IntegerArray.html" /> 


    <!-- Matomo -->
    <script>
      var _paq = window._paq = window._paq || [];
      /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
      _paq.push(["setDoNotTrack", true]);
      _paq.push(["disableCookies"]);
      _paq.push(['trackPageView']);
      _paq.push(['enableLinkTracking']);
      (function() {
        var u="https://analytics.apache.org/";
        _paq.push(['setTrackerUrl', u+'matomo.php']);
        _paq.push(['setSiteId', '20']);
        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
      })();
    </script>
    <!-- End Matomo Code -->

</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="../../index.html" class="icon icon-home" alt="Documentation Home"> Apache Arrow
          

          
          </a>

          
            
            
              <div class="version">
                2.0.0
              </div>
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        
        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <p class="caption"><span class="caption-text">Specifications and Protocols</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../format/Versioning.html">Format Versioning and Stability</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../format/Columnar.html">Arrow Columnar Format</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../format/Flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../format/Integration.html">Integration Testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../format/CDataInterface.html">The Arrow C data interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../format/CStreamInterface.html">The Arrow C stream interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../format/Other.html">Other Data Structures</a></li>
</ul>
<p class="caption"><span class="caption-text">Libraries</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../status.html">Implementation Status</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/docs/c_glib/">C/GLib</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../cpp/index.html">C++</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/arrow/blob/master/csharp/README.md">C#</a></li>
<li class="toctree-l1"><a class="reference external" href="https://godoc.org/github.com/apache/arrow/go/arrow">Go</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../java/index.html">Java</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/docs/js/">JavaScript</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/arrow/blob/master/matlab/README.md">MATLAB</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Python</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../install.html">Installing PyArrow</a></li>
<li class="toctree-l2"><a class="reference internal" href="../memory.html">Memory and IO Interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../data.html">Data Types and In-Memory Data Model</a></li>
<li class="toctree-l2"><a class="reference internal" href="../compute.html">Compute Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../ipc.html">Streaming, Serialization, and IPC</a></li>
<li class="toctree-l2"><a class="reference internal" href="../filesystems.html">Filesystem Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="../filesystems_deprecated.html">Filesystem Interface (legacy)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../plasma.html">The Plasma In-Memory Object Store</a></li>
<li class="toctree-l2"><a class="reference internal" href="../numpy.html">NumPy Integration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../pandas.html">Pandas Integration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../timestamps.html">Timestamps</a></li>
<li class="toctree-l2"><a class="reference internal" href="../csv.html">Reading CSV files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../feather.html">Feather File Format</a></li>
<li class="toctree-l2"><a class="reference internal" href="../json.html">Reading JSON files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../parquet.html">Reading and Writing the Apache Parquet Format</a></li>
<li class="toctree-l2"><a class="reference internal" href="../dataset.html">Tabular Datasets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../cuda.html">CUDA Integration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../extending_types.html">Extending pyarrow</a></li>
<li class="toctree-l2"><a class="reference internal" href="../extending.html">Using pyarrow from C++ and Cython Code</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../api.html">API Reference</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../api/datatypes.html">Data Types and Schemas</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="../api/arrays.html">Arrays and Scalars</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="../api/arrays.html#factory-functions">Factory Functions</a></li>
<li class="toctree-l4 current"><a class="reference internal" href="../api/arrays.html#array-types">Array Types</a></li>
<li class="toctree-l4"><a class="reference internal" href="../api/arrays.html#scalars">Scalars</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../api/memory.html">Buffers and Memory</a></li>
<li class="toctree-l3"><a class="reference internal" href="../api/compute.html">Compute Functions</a></li>
<li class="toctree-l3"><a class="reference internal" href="../api/files.html">Streams and File Access</a></li>
<li class="toctree-l3"><a class="reference internal" href="../api/tables.html">Tables and Tensors</a></li>
<li class="toctree-l3"><a class="reference internal" href="../api/ipc.html">Serialization and IPC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../api/flight.html">Arrow Flight</a></li>
<li class="toctree-l3"><a class="reference internal" href="../api/formats.html">Tabular File Formats</a></li>
<li class="toctree-l3"><a class="reference internal" href="../api/filesystems.html">Filesystems</a></li>
<li class="toctree-l3"><a class="reference internal" href="../api/dataset.html">Dataset</a></li>
<li class="toctree-l3"><a class="reference internal" href="../api/plasma.html">Plasma In-Memory Object Store</a></li>
<li class="toctree-l3"><a class="reference internal" href="../api/cuda.html">CUDA Integration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../api/misc.html">Miscellaneous</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../getting_involved.html">Getting Involved</a></li>
<li class="toctree-l2"><a class="reference internal" href="../benchmarks.html">Benchmarks</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/docs/r/">R</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/arrow/blob/master/ruby/README.md">Ruby</a></li>
<li class="toctree-l1"><a class="reference external" href="https://docs.rs/crate/arrow/">Rust</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../developers/contributing.html">Contributing to Apache Arrow</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../developers/cpp/index.html">C++ Development</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../developers/python.html">Python Development</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../developers/archery.html">Daily Development using Archery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../developers/crossbow.html">Packaging and Testing with Crossbow</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../developers/docker.html">Running Docker Builds</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../developers/benchmarks.html">Benchmarks</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../developers/documentation.html">Building the Documentation</a></li>
</ul>

            
          
        </div>
        
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../../index.html">Apache Arrow</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
        
          <li><a href="../index.html">Python bindings</a> &raquo;</li>
        
          <li><a href="../api.html">API Reference</a> &raquo;</li>
        
          <li><a href="../api/arrays.html">Arrays and Scalars</a> &raquo;</li>
        
      <li>pyarrow.Int8Array</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
            <a href="../../_sources/python/generated/pyarrow.Int8Array.rst.txt" rel="nofollow"> View page source</a>
          
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="pyarrow-int8array">
<h1>pyarrow.Int8Array<a class="headerlink" href="#pyarrow-int8array" title="Permalink to this headline">¶</a></h1>
<dl class="py class">
<dt id="pyarrow.Int8Array">
<em class="property">class </em><code class="sig-prename descclassname">pyarrow.</code><code class="sig-name descname">Int8Array</code><a class="headerlink" href="#pyarrow.Int8Array" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">pyarrow.lib.IntegerArray</span></code></p>
<p>Concrete class for Arrow arrays of int8 data type.</p>
<dl class="py method">
<dt id="pyarrow.Int8Array.__init__">
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.__init__" title="Permalink to this definition">¶</a></dt>
<dd><p>Initialize self.  See help(type(self)) for accurate signature.</p>
</dd></dl>

<p class="rubric">Methods</p>
<table class="longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
<col style="width: 90%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.__init__" title="pyarrow.Int8Array.__init__"><code class="xref py py-obj docutils literal notranslate"><span class="pre">__init__</span></code></a>(*args, **kwargs)</p></td>
<td><p>Initialize self.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.buffers" title="pyarrow.Int8Array.buffers"><code class="xref py py-obj docutils literal notranslate"><span class="pre">buffers</span></code></a>(self)</p></td>
<td><p>Return a list of Buffer objects pointing to this array’s physical storage.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.cast" title="pyarrow.Int8Array.cast"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cast</span></code></a>(self, target_type[, safe])</p></td>
<td><p>Cast array values to another data type</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.dictionary_encode" title="pyarrow.Int8Array.dictionary_encode"><code class="xref py py-obj docutils literal notranslate"><span class="pre">dictionary_encode</span></code></a>(self)</p></td>
<td><p>Compute dictionary-encoded representation of array.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.diff" title="pyarrow.Int8Array.diff"><code class="xref py py-obj docutils literal notranslate"><span class="pre">diff</span></code></a>(self, Array other)</p></td>
<td><p>Compare contents of this array against another one.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.equals" title="pyarrow.Int8Array.equals"><code class="xref py py-obj docutils literal notranslate"><span class="pre">equals</span></code></a>(self, Array other)</p></td>
<td><p></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.fill_null" title="pyarrow.Int8Array.fill_null"><code class="xref py py-obj docutils literal notranslate"><span class="pre">fill_null</span></code></a>(self, fill_value)</p></td>
<td><p>See pyarrow.compute.fill_null for usage.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.filter" title="pyarrow.Int8Array.filter"><code class="xref py py-obj docutils literal notranslate"><span class="pre">filter</span></code></a>(self, Array mask[, …])</p></td>
<td><p>Select values from an array.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.format" title="pyarrow.Int8Array.format"><code class="xref py py-obj docutils literal notranslate"><span class="pre">format</span></code></a>(self, **kwargs)</p></td>
<td><p></p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.from_buffers" title="pyarrow.Int8Array.from_buffers"><code class="xref py py-obj docutils literal notranslate"><span class="pre">from_buffers</span></code></a>(DataType type, length, buffers)</p></td>
<td><p>Construct an Array from a sequence of buffers.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.from_pandas" title="pyarrow.Int8Array.from_pandas"><code class="xref py py-obj docutils literal notranslate"><span class="pre">from_pandas</span></code></a>(obj[, mask, type])</p></td>
<td><p>Convert pandas.Series to an Arrow Array.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.is_null" title="pyarrow.Int8Array.is_null"><code class="xref py py-obj docutils literal notranslate"><span class="pre">is_null</span></code></a>(self)</p></td>
<td><p>Return BooleanArray indicating the null values.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.is_valid" title="pyarrow.Int8Array.is_valid"><code class="xref py py-obj docutils literal notranslate"><span class="pre">is_valid</span></code></a>(self)</p></td>
<td><p>Return BooleanArray indicating the non-null values.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.slice" title="pyarrow.Int8Array.slice"><code class="xref py py-obj docutils literal notranslate"><span class="pre">slice</span></code></a>(self[, offset, length])</p></td>
<td><p>Compute zero-copy slice of this array.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.sum" title="pyarrow.Int8Array.sum"><code class="xref py py-obj docutils literal notranslate"><span class="pre">sum</span></code></a>(self)</p></td>
<td><p>Sum the values in a numerical array.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.take" title="pyarrow.Int8Array.take"><code class="xref py py-obj docutils literal notranslate"><span class="pre">take</span></code></a>(self, indices)</p></td>
<td><p>Select values from an array.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.to_numpy" title="pyarrow.Int8Array.to_numpy"><code class="xref py py-obj docutils literal notranslate"><span class="pre">to_numpy</span></code></a>(self[, zero_copy_only, writable])</p></td>
<td><p>Return a NumPy view or copy of this array (experimental).</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.to_pandas" title="pyarrow.Int8Array.to_pandas"><code class="xref py py-obj docutils literal notranslate"><span class="pre">to_pandas</span></code></a>(self[, memory_pool, categories, …])</p></td>
<td><p>Convert to a pandas-compatible NumPy array or DataFrame, as appropriate</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.to_pylist" title="pyarrow.Int8Array.to_pylist"><code class="xref py py-obj docutils literal notranslate"><span class="pre">to_pylist</span></code></a>(self)</p></td>
<td><p>Convert to a list of native Python objects.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.to_string" title="pyarrow.Int8Array.to_string"><code class="xref py py-obj docutils literal notranslate"><span class="pre">to_string</span></code></a>(self, int indent=0, int window=10)</p></td>
<td><p></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.tolist" title="pyarrow.Int8Array.tolist"><code class="xref py py-obj docutils literal notranslate"><span class="pre">tolist</span></code></a>(self)</p></td>
<td><p>Alias of to_pylist for compatibility with NumPy.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.unique" title="pyarrow.Int8Array.unique"><code class="xref py py-obj docutils literal notranslate"><span class="pre">unique</span></code></a>(self)</p></td>
<td><p>Compute distinct elements in array.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.validate" title="pyarrow.Int8Array.validate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">validate</span></code></a>(self, *[, full])</p></td>
<td><p>Perform validation checks.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.value_counts" title="pyarrow.Int8Array.value_counts"><code class="xref py py-obj docutils literal notranslate"><span class="pre">value_counts</span></code></a>(self)</p></td>
<td><p>Compute counts of unique elements in array.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.view" title="pyarrow.Int8Array.view"><code class="xref py py-obj docutils literal notranslate"><span class="pre">view</span></code></a>(self, target_type)</p></td>
<td><p>Return zero-copy “view” of array as another data type.</p></td>
</tr>
</tbody>
</table>
<p class="rubric">Attributes</p>
<table class="longtable docutils align-default">
<colgroup>
<col style="width: 10%" />
<col style="width: 90%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.nbytes" title="pyarrow.Int8Array.nbytes"><code class="xref py py-obj docutils literal notranslate"><span class="pre">nbytes</span></code></a></p></td>
<td><p>Total number of bytes consumed by the elements of the array.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.null_count" title="pyarrow.Int8Array.null_count"><code class="xref py py-obj docutils literal notranslate"><span class="pre">null_count</span></code></a></p></td>
<td><p></p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyarrow.Int8Array.offset" title="pyarrow.Int8Array.offset"><code class="xref py py-obj docutils literal notranslate"><span class="pre">offset</span></code></a></p></td>
<td><p>A relative position into another array’s data.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyarrow.Int8Array.type" title="pyarrow.Int8Array.type"><code class="xref py py-obj docutils literal notranslate"><span class="pre">type</span></code></a></p></td>
<td><p></p></td>
</tr>
</tbody>
</table>
<dl class="py method">
<dt id="pyarrow.Int8Array.buffers">
<code class="sig-name descname">buffers</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.buffers" title="Permalink to this definition">¶</a></dt>
<dd><p>Return a list of Buffer objects pointing to this array’s physical
storage.</p>
<p>To correctly interpret these buffers, you need to also apply the offset
multiplied with the size of the stored data type.</p>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.cast">
<code class="sig-name descname">cast</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">target_type</span></em>, <em class="sig-param"><span class="n">safe</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.cast" title="Permalink to this definition">¶</a></dt>
<dd><p>Cast array values to another data type</p>
<p>See pyarrow.compute.cast for usage</p>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.dictionary_encode">
<code class="sig-name descname">dictionary_encode</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.dictionary_encode" title="Permalink to this definition">¶</a></dt>
<dd><p>Compute dictionary-encoded representation of array.</p>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.diff">
<code class="sig-name descname">diff</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">Array other</em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.diff" title="Permalink to this definition">¶</a></dt>
<dd><p>Compare contents of this array against another one.</p>
<p>Return string containing the result of arrow::Diff comparing contents
of this array against the other array.</p>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.equals">
<code class="sig-name descname">equals</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">Array other</em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.equals" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.fill_null">
<code class="sig-name descname">fill_null</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">fill_value</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.fill_null" title="Permalink to this definition">¶</a></dt>
<dd><p>See pyarrow.compute.fill_null for usage.</p>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.filter">
<code class="sig-name descname">filter</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">Array mask</em>, <em class="sig-param">null_selection_behavior=u'drop'</em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.filter" title="Permalink to this definition">¶</a></dt>
<dd><p>Select values from an array. See pyarrow.compute.filter for full usage.</p>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.format">
<code class="sig-name descname">format</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.format" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.from_buffers">
<em class="property">static </em><code class="sig-name descname">from_buffers</code><span class="sig-paren">(</span><em class="sig-param">DataType type</em>, <em class="sig-param">length</em>, <em class="sig-param">buffers</em>, <em class="sig-param">null_count=-1</em>, <em class="sig-param">offset=0</em>, <em class="sig-param">children=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.from_buffers" title="Permalink to this definition">¶</a></dt>
<dd><p>Construct an Array from a sequence of buffers.</p>
<p>The concrete type returned depends on the datatype.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>type</strong> (<a class="reference internal" href="pyarrow.DataType.html#pyarrow.DataType" title="pyarrow.DataType"><em>DataType</em></a>) – The value type of the array.</p></li>
<li><p><strong>length</strong> (<em>int</em>) – The number of values in the array.</p></li>
<li><p><strong>buffers</strong> (<em>List</em><em>[</em><a class="reference internal" href="pyarrow.Buffer.html#pyarrow.Buffer" title="pyarrow.Buffer"><em>Buffer</em></a><em>]</em>) – The buffers backing this array.</p></li>
<li><p><strong>null_count</strong> (<em>int</em><em>, </em><em>default -1</em>) – The number of null entries in the array. Negative value means that
the null count is not known.</p></li>
<li><p><strong>offset</strong> (<em>int</em><em>, </em><em>default 0</em>) – The array’s logical offset (in values, not in bytes) from the
start of each buffer.</p></li>
<li><p><strong>children</strong> (<em>List</em><em>[</em><a class="reference internal" href="pyarrow.Array.html#pyarrow.Array" title="pyarrow.Array"><em>Array</em></a><em>]</em><em>, </em><em>default None</em>) – Nested type children with length matching type.num_fields.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><strong>array</strong> (<em>Array</em>)</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.from_pandas">
<em class="property">static </em><code class="sig-name descname">from_pandas</code><span class="sig-paren">(</span><em class="sig-param">obj</em>, <em class="sig-param">mask=None</em>, <em class="sig-param">type=None</em>, <em class="sig-param">bool safe=True</em>, <em class="sig-param">MemoryPool memory_pool=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.from_pandas" title="Permalink to this definition">¶</a></dt>
<dd><p>Convert pandas.Series to an Arrow Array.</p>
<p>This method uses Pandas semantics about what values indicate
nulls. See pyarrow.array for more general conversion from arrays or
sequences to Arrow arrays.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>sequence</strong> (<em>ndarray</em><em>, </em><em>pandas.Series</em><em>, </em><em>array-like</em>) – </p></li>
<li><p><strong>mask</strong> (<em>array</em><em> (</em><em>boolean</em><em>)</em><em>, </em><em>optional</em>) – Indicate which values are null (True) or not null (False).</p></li>
<li><p><strong>type</strong> (<a class="reference internal" href="pyarrow.DataType.html#pyarrow.DataType" title="pyarrow.DataType"><em>pyarrow.DataType</em></a>) – Explicit type to attempt to coerce to, otherwise will be inferred
from the data.</p></li>
<li><p><strong>safe</strong> (<em>bool</em><em>, </em><em>default True</em>) – Check for overflows or other unsafe conversions.</p></li>
<li><p><strong>memory_pool</strong> (<a class="reference internal" href="pyarrow.MemoryPool.html#pyarrow.MemoryPool" title="pyarrow.MemoryPool"><em>pyarrow.MemoryPool</em></a><em>, </em><em>optional</em>) – If not passed, will allocate memory from the currently-set default
memory pool.</p></li>
</ul>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>Localized timestamps will currently be returned as UTC (pandas’s native
representation). Timezone-naive data will be implicitly interpreted as
UTC.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p><strong>array</strong> (<em>pyarrow.Array or pyarrow.ChunkedArray</em>) – ChunkedArray is returned if object data overflows binary buffer.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.is_null">
<code class="sig-name descname">is_null</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.is_null" title="Permalink to this definition">¶</a></dt>
<dd><p>Return BooleanArray indicating the null values.</p>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.is_valid">
<code class="sig-name descname">is_valid</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.is_valid" title="Permalink to this definition">¶</a></dt>
<dd><p>Return BooleanArray indicating the non-null values.</p>
</dd></dl>

<dl class="py attribute">
<dt id="pyarrow.Int8Array.nbytes">
<code class="sig-name descname">nbytes</code><a class="headerlink" href="#pyarrow.Int8Array.nbytes" title="Permalink to this definition">¶</a></dt>
<dd><p>Total number of bytes consumed by the elements of the array.</p>
</dd></dl>

<dl class="py attribute">
<dt id="pyarrow.Int8Array.null_count">
<code class="sig-name descname">null_count</code><a class="headerlink" href="#pyarrow.Int8Array.null_count" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="py attribute">
<dt id="pyarrow.Int8Array.offset">
<code class="sig-name descname">offset</code><a class="headerlink" href="#pyarrow.Int8Array.offset" title="Permalink to this definition">¶</a></dt>
<dd><p>A relative position into another array’s data.</p>
<p>The purpose is to enable zero-copy slicing. This value defaults to zero
but must be applied on all operations with the physical storage
buffers.</p>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.slice">
<code class="sig-name descname">slice</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">offset</span><span class="o">=</span><span class="default_value">0</span></em>, <em class="sig-param"><span class="n">length</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.slice" title="Permalink to this definition">¶</a></dt>
<dd><p>Compute zero-copy slice of this array.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>offset</strong> (<em>int</em><em>, </em><em>default 0</em>) – Offset from start of array to slice.</p></li>
<li><p><strong>length</strong> (<em>int</em><em>, </em><em>default None</em>) – Length of slice (default is until end of Array starting from
offset).</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><strong>sliced</strong> (<em>RecordBatch</em>)</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.sum">
<code class="sig-name descname">sum</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.sum" title="Permalink to this definition">¶</a></dt>
<dd><p>Sum the values in a numerical array.</p>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.take">
<code class="sig-name descname">take</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">indices</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.take" title="Permalink to this definition">¶</a></dt>
<dd><p>Select values from an array. See pyarrow.compute.take for full usage.</p>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.to_numpy">
<code class="sig-name descname">to_numpy</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">zero_copy_only</span><span class="o">=</span><span class="default_value">True</span></em>, <em class="sig-param"><span class="n">writable</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.to_numpy" title="Permalink to this definition">¶</a></dt>
<dd><p>Return a NumPy view or copy of this array (experimental).</p>
<p>By default, tries to return a view of this array. This is only
supported for primitive arrays with the same memory layout as NumPy
(i.e. integers, floating point, ..) and without any nulls.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>zero_copy_only</strong> (<em>bool</em><em>, </em><em>default True</em>) – If True, an exception will be raised if the conversion to a numpy
array would require copying the underlying data (e.g. in presence
of nulls, or for non-primitive types).</p></li>
<li><p><strong>writable</strong> (<em>bool</em><em>, </em><em>default False</em>) – For numpy arrays created with zero copy (view on the Arrow data),
the resulting array is not writable (Arrow data is immutable).
By setting this to True, a copy of the array is made to ensure
it is writable.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><strong>array</strong> (<em>numpy.ndarray</em>)</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.to_pandas">
<code class="sig-name descname">to_pandas</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">memory_pool=None</em>, <em class="sig-param">categories=None</em>, <em class="sig-param">bool strings_to_categorical=False</em>, <em class="sig-param">bool zero_copy_only=False</em>, <em class="sig-param">bool integer_object_nulls=False</em>, <em class="sig-param">bool date_as_object=True</em>, <em class="sig-param">bool timestamp_as_object=False</em>, <em class="sig-param">bool use_threads=True</em>, <em class="sig-param">bool deduplicate_objects=True</em>, <em class="sig-param">bool ignore_metadata=False</em>, <em class="sig-param">bool safe=True</em>, <em class="sig-param">bool split_blocks=False</em>, <em class="sig-param">bool self_destruct=False</em>, <em class="sig-param">types_mapper=None</em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.to_pandas" title="Permalink to this definition">¶</a></dt>
<dd><p>Convert to a pandas-compatible NumPy array or DataFrame, as appropriate</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>memory_pool</strong> (<a class="reference internal" href="pyarrow.MemoryPool.html#pyarrow.MemoryPool" title="pyarrow.MemoryPool"><em>MemoryPool</em></a><em>, </em><em>default None</em>) – Arrow MemoryPool to use for allocations. Uses the default memory
pool is not passed.</p></li>
<li><p><strong>strings_to_categorical</strong> (<em>bool</em><em>, </em><em>default False</em>) – Encode string (UTF8) and binary types to pandas.Categorical.</p></li>
<li><p><strong>categories</strong> (<em>list</em><em>, </em><em>default empty</em>) – List of fields that should be returned as pandas.Categorical. Only
applies to table-like data structures.</p></li>
<li><p><strong>zero_copy_only</strong> (<em>bool</em><em>, </em><em>default False</em>) – Raise an ArrowException if this function call would require copying
the underlying data.</p></li>
<li><p><strong>integer_object_nulls</strong> (<em>bool</em><em>, </em><em>default False</em>) – Cast integers with nulls to objects</p></li>
<li><p><strong>date_as_object</strong> (<em>bool</em><em>, </em><em>default True</em>) – Cast dates to objects. If False, convert to datetime64[ns] dtype.</p></li>
<li><p><strong>timestamp_as_object</strong> (<em>bool</em><em>, </em><em>default False</em>) – Cast non-nanosecond timestamps (np.datetime64) to objects. This is
useful if you have timestamps that don’t fit in the normal date
range of nanosecond timestamps (1678 CE-2262 CE).
If False, all timestamps are converted to datetime64[ns] dtype.</p></li>
<li><p><strong>use_threads</strong> (<em>bool</em><em>, </em><em>default True</em>) – Whether to parallelize the conversion using multiple threads.</p></li>
<li><p><strong>deduplicate_objects</strong> (<em>bool</em><em>, </em><em>default False</em>) – Do not create multiple copies Python objects when created, to save
on memory use. Conversion will be slower.</p></li>
<li><p><strong>ignore_metadata</strong> (<em>bool</em><em>, </em><em>default False</em>) – If True, do not use the ‘pandas’ metadata to reconstruct the
DataFrame index, if present</p></li>
<li><p><strong>safe</strong> (<em>bool</em><em>, </em><em>default True</em>) – For certain data types, a cast is needed in order to store the
data in a pandas DataFrame or Series (e.g. timestamps are always
stored as nanoseconds in pandas). This option controls whether it
is a safe cast or not.</p></li>
<li><p><strong>split_blocks</strong> (<em>bool</em><em>, </em><em>default False</em>) – If True, generate one internal “block” for each column when
creating a pandas.DataFrame from a RecordBatch or Table. While this
can temporarily reduce memory note that various pandas operations
can trigger “consolidation” which may balloon memory use.</p></li>
<li><p><strong>self_destruct</strong> (<em>bool</em><em>, </em><em>default False</em>) – EXPERIMENTAL: If True, attempt to deallocate the originating Arrow
memory while converting the Arrow object to pandas. If you use the
object after calling to_pandas with this option it will crash your
program.</p></li>
<li><p><strong>types_mapper</strong> (<em>function</em><em>, </em><em>default None</em>) – A function mapping a pyarrow DataType to a pandas ExtensionDtype.
This can be used to override the default pandas type for conversion
of built-in pyarrow types or in absence of pandas_metadata in the
Table schema. The function receives a pyarrow DataType and is
expected to return a pandas ExtensionDtype or <code class="docutils literal notranslate"><span class="pre">None</span></code> if the
default conversion should be used for that type. If you have
a dictionary mapping, you can pass <code class="docutils literal notranslate"><span class="pre">dict.get</span></code> as function.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>pandas.Series or pandas.DataFrame depending on type of object</em></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.to_pylist">
<code class="sig-name descname">to_pylist</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.to_pylist" title="Permalink to this definition">¶</a></dt>
<dd><p>Convert to a list of native Python objects.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p><strong>lst</strong> (<em>list</em>)</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.to_string">
<code class="sig-name descname">to_string</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">int indent=0</em>, <em class="sig-param">int window=10</em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.to_string" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.tolist">
<code class="sig-name descname">tolist</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.tolist" title="Permalink to this definition">¶</a></dt>
<dd><p>Alias of to_pylist for compatibility with NumPy.</p>
</dd></dl>

<dl class="py attribute">
<dt id="pyarrow.Int8Array.type">
<code class="sig-name descname">type</code><a class="headerlink" href="#pyarrow.Int8Array.type" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.unique">
<code class="sig-name descname">unique</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.unique" title="Permalink to this definition">¶</a></dt>
<dd><p>Compute distinct elements in array.</p>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.validate">
<code class="sig-name descname">validate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="o">*</span></em>, <em class="sig-param"><span class="n">full</span><span class="o">=</span><span class="default_value">False</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.validate" title="Permalink to this definition">¶</a></dt>
<dd><p>Perform validation checks.  An exception is raised if validation fails.</p>
<p>By default only cheap validation checks are run.  Pass <cite>full=True</cite>
for thorough validation checks (potentially O(n)).</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>full</strong> (<em>bool</em><em>, </em><em>default False</em>) – If True, run expensive checks, otherwise cheap checks only.</p>
</dd>
<dt class="field-even">Raises</dt>
<dd class="field-even"><p><strong>ArrowInvalid</strong> – </p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.value_counts">
<code class="sig-name descname">value_counts</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.value_counts" title="Permalink to this definition">¶</a></dt>
<dd><p>Compute counts of unique elements in array.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p><em>An array of  &lt;input type “Values”, int64_t “Counts”&gt; structs</em></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt id="pyarrow.Int8Array.view">
<code class="sig-name descname">view</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">self</span></em>, <em class="sig-param"><span class="n">target_type</span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.Int8Array.view" title="Permalink to this definition">¶</a></dt>
<dd><p>Return zero-copy “view” of array as another data type.</p>
<p>The data types must have compatible columnar buffer layouts</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>target_type</strong> (<a class="reference internal" href="pyarrow.DataType.html#pyarrow.DataType" title="pyarrow.DataType"><em>DataType</em></a>) – Type to construct view as.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><strong>view</strong> (<em>Array</em>)</p>
</dd>
</dl>
</dd></dl>

</dd></dl>

</div>


           </div>
           
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="pyarrow.Int16Array.html" class="btn btn-neutral float-right" title="pyarrow.Int16Array" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="pyarrow.IntegerArray.html" class="btn btn-neutral float-left" title="pyarrow.IntegerArray" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      
    </div>
  

  <hr/>

  <div role="contentinfo">
    <p>
        
        &copy; Copyright 2016-2019 Apache Software Foundation

    </p>
  </div>
    
    
    
    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
    
    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
    
    provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>

        </div>
      </div>

    </section>

  </div>
  

  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
  


<script type="text/javascript" src="/docs/_static/versionwarning.js"></script></body>
</html>