
<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>pyarrow.compute.count &#8212; Apache Arrow v7.0.0</title>
    
    <link href="../../_static/styles/theme.css?digest=1999514e3f237ded88cf" rel="stylesheet">
<link href="../../_static/styles/pydata-sphinx-theme.css?digest=1999514e3f237ded88cf" rel="stylesheet">
  
    
    <link rel="stylesheet"
      href="../../_static/vendor/fontawesome/5.13.0/css/all.min.css">
    <link rel="preload" as="font" type="font/woff2" crossorigin
      href="../../_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
    <link rel="preload" as="font" type="font/woff2" crossorigin
      href="../../_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
  
    
      
  
    
    <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../../_static/styles/pydata-sphinx-theme.css" />
    <link rel="stylesheet" type="text/css" href="../../_static/tabs.css" />
    <link rel="stylesheet" type="text/css" href="../../_static/theme_overrides.css" />
    
    <link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf">
  
    <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
    <script src="../../_static/jquery.js"></script>
    <script src="../../_static/underscore.js"></script>
    <script src="../../_static/doctools.js"></script>
    <link rel="canonical" href="https://arrow.apache.org/docs/python/generated/pyarrow.compute.count.html" />
    <link rel="shortcut icon" href="../../_static/favicon.ico"/>
    <link rel="index" title="Index" href="../../genindex.html" />
    <link rel="search" title="Search" href="../../search.html" />
    <link rel="next" title="pyarrow.compute.count_distinct" href="pyarrow.compute.count_distinct.html" />
    <link rel="prev" title="pyarrow.compute.approximate_median" href="pyarrow.compute.approximate_median.html" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="docsearch:language" content="None">
    

    <!-- Google Analytics -->
    
  <!-- Matomo -->
  <script>
    var _paq = window._paq = window._paq || [];
    /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
    /* We explicitly disable cookie tracking to avoid privacy issues */
    _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 data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
    
    <div class="container-fluid" id="banner"></div>

    


    <div class="container-xl">
      <div class="row">
          
            
            <!-- Only show if we have sidebars configured, else just a small margin  -->
            <div class="col-12 col-md-3 bd-sidebar">
              <div class="sidebar-start-items">
<a class="navbar-brand" href="../../index.html">
  <img src="../../_static/arrow.png" class="logo" alt="logo">
</a>

<div id="version-search-wrapper">

<div id="version-button" class="dropdown">
    <button type="button" class="btn btn-secondary btn-sm navbar-btn dropdown-toggle" id="version_switcher_button" data-toggle="dropdown">
        7.0.0
        <span class="caret"></span>
    </button>
    <div id="version_switcher" class="dropdown-menu list-group-flush py-0" aria-labelledby="version_switcher_button">
    <!-- dropdown will be populated by javascript on page load -->
    </div>
</div>

<script type="text/javascript">
// Function to construct the target URL from the JSON components
function buildURL(entry) {
    var template = "https://arrow.apache.org/docs/{version}";  // supplied by jinja
    template = template.replace("{version}", entry.version);
    return template;
}

// Function to check if corresponding page path exists in other version of docs
// and, if so, go there instead of the homepage of the other docs version
function checkPageExistsAndRedirect(event) {
    const currentFilePath = "python/generated/pyarrow.compute.count.html",
          otherDocsHomepage = event.target.getAttribute("href");
    let tryUrl = `${otherDocsHomepage}${currentFilePath}`;
    $.ajax({
        type: 'HEAD',
        url: tryUrl,
        // if the page exists, go there
        success: function() {
            location.href = tryUrl;
        }
    }).fail(function() {
        location.href = otherDocsHomepage;
    });
    return false;
}

// Function to populate the version switcher
(function () {
    // get JSON config
    $.getJSON("/docs/_static/versions.json", function(data, textStatus, jqXHR) {
        // create the nodes first (before AJAX calls) to ensure the order is
        // correct (for now, links will go to doc version homepage)
        $.each(data, function(index, entry) {
            // if no custom name specified (e.g., "latest"), use version string
            if (!("name" in entry)) {
                entry.name = entry.version;
            }
            // construct the appropriate URL, and add it to the dropdown
            entry.url = buildURL(entry);
            const node = document.createElement("a");
            node.setAttribute("class", "list-group-item list-group-item-action py-1");
            node.setAttribute("href", `${entry.url}`);
            node.textContent = `${entry.name}`;
            node.onclick = checkPageExistsAndRedirect;
            $("#version_switcher").append(node);
        });
    });
})();
</script>

<form id="search-box" class="bd-search d-flex align-items-center" action="../../search.html" method="get">
  <i class="icon fas fa-search"></i>
  <input type="search" class="form-control" name="q" id="search-input" placeholder="Search the docs ..." aria-label="Search the docs ..." autocomplete="off" >
</form>

</div>

<nav class="bd-links" id="bd-docs-nav" aria-label="Main navigation">
  <div class="bd-toc-item active">
    
    <p aria-level="2" class="caption" role="heading">
 <span class="caption-text">
  Supported Environments
 </span>
</p>
<ul class="current nav bd-sidenav">
 <li class="toctree-l1">
  <a class="reference internal" href="../../c_glib/index.html">
   C/GLib
  </a>
 </li>
 <li class="toctree-l1 has-children">
  <a class="reference internal" href="../../cpp/index.html">
   C++
  </a>
  <input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox"/>
  <label for="toctree-checkbox-1">
   <i class="fas fa-chevron-down">
   </i>
  </label>
  <ul>
   <li class="toctree-l2 has-children">
    <a class="reference internal" href="../../cpp/getting_started.html">
     User Guide
    </a>
    <input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox"/>
    <label for="toctree-checkbox-2">
     <i class="fas fa-chevron-down">
     </i>
    </label>
    <ul>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/overview.html">
       High-Level Overview
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/conventions.html">
       Conventions
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/build_system.html">
       Using Arrow C++ in your own project
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/memory.html">
       Memory Management
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/arrays.html">
       Arrays
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/datatypes.html">
       Data Types
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/tables.html">
       Tabular Data
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/compute.html">
       Compute Functions
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/streaming_execution.html">
       Streaming execution engine
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/io.html">
       Input / output and filesystems
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/ipc.html">
       Reading and writing the Arrow IPC format
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/parquet.html">
       Reading and writing Parquet files
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/csv.html">
       Reading and Writing CSV files
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/json.html">
       Reading JSON files
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/dataset.html">
       Tabular Datasets
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/flight.html">
       Arrow Flight RPC
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/gdb.html">
       Debugging code using Arrow
      </a>
     </li>
    </ul>
   </li>
   <li class="toctree-l2 has-children">
    <a class="reference internal" href="../../cpp/examples/index.html">
     Examples
    </a>
    <input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" type="checkbox"/>
    <label for="toctree-checkbox-3">
     <i class="fas fa-chevron-down">
     </i>
    </label>
    <ul>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/examples/cmake_minimal_build.html">
       Minimal build using CMake
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/examples/compute_and_write_example.html">
       Compute and Write CSV Example
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/examples/dataset_documentation_example.html">
       Arrow Datasets example
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/examples/row_columnar_conversion.html">
       Row to columnar conversion
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/examples/tuple_range_conversion.html">
       std::tuple-like ranges to Arrow
      </a>
     </li>
    </ul>
   </li>
   <li class="toctree-l2 has-children">
    <a class="reference internal" href="../../cpp/api.html">
     API Reference
    </a>
    <input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" type="checkbox"/>
    <label for="toctree-checkbox-4">
     <i class="fas fa-chevron-down">
     </i>
    </label>
    <ul>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/support.html">
       Programming Support
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/memory.html">
       Memory (management)
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/datatype.html">
       Data Types
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/array.html">
       Arrays
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/scalar.html">
       Scalars
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/builder.html">
       Array Builders
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/table.html">
       Two-dimensional Datasets
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/c_abi.html">
       C Interfaces
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/compute.html">
       Compute Functions
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/tensor.html">
       Tensors
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/utilities.html">
       Utilities
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/async.html">
       Asynchronous programming
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/io.html">
       Input / output
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/ipc.html">
       Arrow IPC
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/formats.html">
       File Formats
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/cuda.html">
       CUDA support
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/flight.html">
       Arrow Flight RPC
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/filesystem.html">
       Filesystems
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../cpp/api/dataset.html">
       Dataset
      </a>
     </li>
    </ul>
   </li>
  </ul>
 </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://pkg.go.dev/github.com/apache/arrow/go">
   Go
  </a>
 </li>
 <li class="toctree-l1 has-children">
  <a class="reference internal" href="../../java/index.html">
   Java
  </a>
  <input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" type="checkbox"/>
  <label for="toctree-checkbox-5">
   <i class="fas fa-chevron-down">
   </i>
  </label>
  <ul>
   <li class="toctree-l2">
    <a class="reference internal" href="../../java/vector.html">
     ValueVector
    </a>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../java/vector_schema_root.html">
     VectorSchemaRoot
    </a>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../java/ipc.html">
     Reading/Writing IPC formats
    </a>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../java/algorithm.html">
     Java Algorithms
    </a>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../java/dataset.html">
     Dataset
    </a>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../java/reference/index.html">
     Reference (javadoc)
    </a>
   </li>
  </ul>
 </li>
 <li class="toctree-l1">
  <a class="reference internal" href="../../js/index.html">
   JavaScript
  </a>
 </li>
 <li class="toctree-l1">
  <a class="reference external" href="https://github.com/apache/arrow/blob/master/julia/Arrow/README.md">
   Julia
  </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 active has-children">
  <a class="reference internal" href="../index.html">
   Python
  </a>
  <input checked="" class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" type="checkbox"/>
  <label for="toctree-checkbox-6">
   <i class="fas fa-chevron-down">
   </i>
  </label>
  <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="../getstarted.html">
     Getting Started
    </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="../memory.html">
     Memory and IO Interfaces
    </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 has-children">
    <a class="reference internal" href="../filesystems_deprecated.html">
     Filesystem Interface (legacy)
    </a>
    <input class="toctree-checkbox" id="toctree-checkbox-7" name="toctree-checkbox-7" type="checkbox"/>
    <label for="toctree-checkbox-7">
     <i class="fas fa-chevron-down">
     </i>
    </label>
    <ul>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.hdfs.connect.html">
       pyarrow.hdfs.connect
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.cat.html">
       pyarrow.HadoopFileSystem.cat
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.chmod.html">
       pyarrow.HadoopFileSystem.chmod
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.chown.html">
       pyarrow.HadoopFileSystem.chown
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.delete.html">
       pyarrow.HadoopFileSystem.delete
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.df.html">
       pyarrow.HadoopFileSystem.df
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.disk_usage.html">
       pyarrow.HadoopFileSystem.disk_usage
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.download.html">
       pyarrow.HadoopFileSystem.download
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.exists.html">
       pyarrow.HadoopFileSystem.exists
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.get_capacity.html">
       pyarrow.HadoopFileSystem.get_capacity
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.get_space_used.html">
       pyarrow.HadoopFileSystem.get_space_used
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.info.html">
       pyarrow.HadoopFileSystem.info
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.ls.html">
       pyarrow.HadoopFileSystem.ls
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.mkdir.html">
       pyarrow.HadoopFileSystem.mkdir
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.open.html">
       pyarrow.HadoopFileSystem.open
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.rename.html">
       pyarrow.HadoopFileSystem.rename
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.rm.html">
       pyarrow.HadoopFileSystem.rm
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HadoopFileSystem.upload.html">
       pyarrow.HadoopFileSystem.upload
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="pyarrow.HdfsFile.html">
       pyarrow.HdfsFile
      </a>
     </li>
    </ul>
   </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 and Writing 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="../extending_types.html">
     Extending pyarrow
    </a>
   </li>
   <li class="toctree-l2 has-children">
    <a class="reference internal" href="../integration.html">
     PyArrow Integrations
    </a>
    <input class="toctree-checkbox" id="toctree-checkbox-8" name="toctree-checkbox-8" type="checkbox"/>
    <label for="toctree-checkbox-8">
     <i class="fas fa-chevron-down">
     </i>
    </label>
    <ul>
     <li class="toctree-l3">
      <a class="reference internal" href="../integration/python_r.html">
       Integrating PyArrow with R
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../integration/extending.html">
       Using pyarrow from C++ and Cython Code
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../integration/cuda.html">
       CUDA Integration
      </a>
     </li>
    </ul>
   </li>
   <li class="toctree-l2 current active has-children">
    <a class="reference internal" href="../api.html">
     API Reference
    </a>
    <input checked="" class="toctree-checkbox" id="toctree-checkbox-9" name="toctree-checkbox-9" type="checkbox"/>
    <label for="toctree-checkbox-9">
     <i class="fas fa-chevron-down">
     </i>
    </label>
    <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">
      <a class="reference internal" href="../api/arrays.html">
       Arrays and Scalars
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../api/memory.html">
       Buffers and Memory
      </a>
     </li>
     <li class="toctree-l3 current active">
      <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 internal" href="../../r/index.html">
   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>
 <li class="toctree-l1">
  <a class="reference internal" href="../../status.html">
   Implementation Status
  </a>
 </li>
</ul>
<p aria-level="2" class="caption" role="heading">
 <span class="caption-text">
  Cookbooks
 </span>
</p>
<ul class="nav bd-sidenav">
 <li class="toctree-l1">
  <a class="reference external" href="https://arrow.apache.org/cookbook/cpp/">
   C++
  </a>
 </li>
 <li class="toctree-l1">
  <a class="reference external" href="https://arrow.apache.org/cookbook/py/">
   Python
  </a>
 </li>
 <li class="toctree-l1">
  <a class="reference external" href="https://arrow.apache.org/cookbook/r/">
   R
  </a>
 </li>
</ul>
<p aria-level="2" class="caption" role="heading">
 <span class="caption-text">
  Specifications and Protocols
 </span>
</p>
<ul class="nav bd-sidenav">
 <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 aria-level="2" class="caption" role="heading">
 <span class="caption-text">
  Development
 </span>
</p>
<ul class="nav bd-sidenav">
 <li class="toctree-l1">
  <a class="reference internal" href="../../developers/contributing.html">
   Contributing to Apache Arrow
  </a>
 </li>
 <li class="toctree-l1 has-children">
  <a class="reference internal" href="../../developers/guide/index.html">
   New Contributor’s Guide
  </a>
  <input class="toctree-checkbox" id="toctree-checkbox-10" name="toctree-checkbox-10" type="checkbox"/>
  <label for="toctree-checkbox-10">
   <i class="fas fa-chevron-down">
   </i>
  </label>
  <ul>
   <li class="toctree-l2">
    <a class="reference internal" href="../../developers/guide/architectural_overview.html">
     Architectural Overview
    </a>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../developers/guide/communication.html">
     Communication
    </a>
   </li>
   <li class="toctree-l2 has-children">
    <a class="reference internal" href="../../developers/guide/step_by_step/index.html">
     Steps in making your first PR
    </a>
    <input class="toctree-checkbox" id="toctree-checkbox-11" name="toctree-checkbox-11" type="checkbox"/>
    <label for="toctree-checkbox-11">
     <i class="fas fa-chevron-down">
     </i>
    </label>
    <ul>
     <li class="toctree-l3">
      <a class="reference internal" href="../../developers/guide/step_by_step/set_up.html">
       Set up
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../developers/guide/step_by_step/building.html">
       Building the Arrow libraries 🏋🏿‍♀️
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../developers/guide/step_by_step/finding_issues.html">
       Finding good first issues 🔎
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../developers/guide/step_by_step/arrow_codebase.html">
       Working on the Arrow codebase 🧐
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../developers/guide/step_by_step/testing.html">
       Testing 🧪
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../developers/guide/step_by_step/pr_and_github.html">
       Lifecycle of a pull request
      </a>
     </li>
    </ul>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../developers/guide/documentation.html">
     Helping with documentation
    </a>
   </li>
   <li class="toctree-l2 has-children">
    <a class="reference internal" href="../../developers/guide/tutorials/index.html">
     Tutorials
    </a>
    <input class="toctree-checkbox" id="toctree-checkbox-12" name="toctree-checkbox-12" type="checkbox"/>
    <label for="toctree-checkbox-12">
     <i class="fas fa-chevron-down">
     </i>
    </label>
    <ul>
     <li class="toctree-l3">
      <a class="reference internal" href="../../developers/guide/tutorials/python_tutorial.html">
       Python tutorial
      </a>
     </li>
     <li class="toctree-l3">
      <a class="reference internal" href="../../developers/guide/tutorials/r_tutorial.html">
       R tutorial
      </a>
     </li>
    </ul>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../developers/guide/resources.html">
     Additional information and resources
    </a>
   </li>
  </ul>
 </li>
 <li class="toctree-l1">
  <a class="reference internal" href="../../developers/reviewing.html">
   Reviewing contributions
  </a>
 </li>
 <li class="toctree-l1 has-children">
  <a class="reference internal" href="../../developers/cpp/index.html">
   C++ Development
  </a>
  <input class="toctree-checkbox" id="toctree-checkbox-13" name="toctree-checkbox-13" type="checkbox"/>
  <label for="toctree-checkbox-13">
   <i class="fas fa-chevron-down">
   </i>
  </label>
  <ul>
   <li class="toctree-l2">
    <a class="reference internal" href="../../developers/cpp/building.html">
     Building Arrow C++
    </a>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../developers/cpp/development.html">
     Development Guidelines
    </a>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../developers/cpp/windows.html">
     Developing on Windows
    </a>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../developers/cpp/conventions.html">
     Conventions
    </a>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../developers/cpp/fuzzing.html">
     Fuzzing Arrow C++
    </a>
   </li>
  </ul>
 </li>
 <li class="toctree-l1">
  <a class="reference internal" href="../../developers/python.html">
   Python Development
  </a>
 </li>
 <li class="toctree-l1 has-children">
  <a class="reference internal" href="../../developers/continuous_integration/index.html">
   Continuous Integration
  </a>
  <input class="toctree-checkbox" id="toctree-checkbox-14" name="toctree-checkbox-14" type="checkbox"/>
  <label for="toctree-checkbox-14">
   <i class="fas fa-chevron-down">
   </i>
  </label>
  <ul>
   <li class="toctree-l2">
    <a class="reference internal" href="../../developers/continuous_integration/overview.html">
     Continuous Integration
    </a>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../developers/continuous_integration/docker.html">
     Running Docker Builds
    </a>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../developers/continuous_integration/archery.html">
     Daily Development using Archery
    </a>
   </li>
   <li class="toctree-l2">
    <a class="reference internal" href="../../developers/continuous_integration/crossbow.html">
     Packaging and Testing with Crossbow
    </a>
   </li>
  </ul>
 </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>
 <li class="toctree-l1">
  <a class="reference internal" href="../../developers/computeir.html">
   Arrow Compute IR (Intermediate Representation)
  </a>
 </li>
</ul>

    
  </div>
</nav>
              </div>
              <div class="sidebar-end-items">
              </div>
            </div>
            
          

          
          <div class="d-none d-xl-block col-xl-2 bd-toc">
            
              
              <div class="toc-item">
                

<nav id="bd-toc-nav">
    
</nav>
              </div>
              
              <div class="toc-item">
                

<div class="tocsection editthispage">
    <a href="https://github.com/apache/arrow/edit/master/docs/source/python/generated/pyarrow.compute.count.rst">
        <i class="fas fa-pencil-alt"></i> Edit this page
    </a>
</div>

              </div>
              
            
          </div>
          

          
          
            
          
          <main class="col-12 col-md-9 col-xl-7 py-md-5 pl-md-5 pr-md-4 bd-content" role="main">
              
              <div>
                
  <div class="section" id="pyarrow-compute-count">
<h1>pyarrow.compute.count<a class="headerlink" href="#pyarrow-compute-count" title="Permalink to this headline">¶</a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="pyarrow.compute.count">
<span class="sig-prename descclassname"><span class="pre">pyarrow.compute.</span></span><span class="sig-name descname"><span class="pre">count</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">array</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">/</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mode</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'only_valid'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">options</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">memory_pool</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#pyarrow.compute.count" title="Permalink to this definition">¶</a></dt>
<dd><p>Count the number of null / non-null values.</p>
<p>By default, only non-null values are counted.
This can be changed through CountOptions.</p>
<dl class="field-list">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><dl>
<dt><strong>array</strong><span class="classifier">Array-like</span></dt><dd><p>Argument to compute function.</p>
</dd>
<dt><strong>mode</strong><span class="classifier"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><code class="docutils literal notranslate"><span class="pre">str</span></code></a>, default “only_valid”</span></dt><dd><p>Which values to count in the input.
Accepted values are “only_valid”, “only_null”, “all”.</p>
</dd>
<dt><strong>options</strong><span class="classifier"><a class="reference internal" href="pyarrow.compute.CountOptions.html#pyarrow.compute.CountOptions" title="pyarrow.compute.CountOptions"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pyarrow.compute.CountOptions</span></code></a>, optional</span></dt><dd><p>Alternative way of passing options.</p>
</dd>
<dt><strong>memory_pool</strong><span class="classifier"><a class="reference internal" href="pyarrow.MemoryPool.html#pyarrow.MemoryPool" title="pyarrow.MemoryPool"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pyarrow.MemoryPool</span></code></a>, optional</span></dt><dd><p>If not passed, will allocate memory from the default memory pool.</p>
</dd>
</dl>
</dd>
</dl>
</dd></dl>

</div>


              </div>
              
              
              <!-- Previous / next buttons -->
<div class='prev-next-area'>
    <a class='left-prev' id="prev-link" href="pyarrow.compute.approximate_median.html" title="previous page">
        <i class="fas fa-angle-left"></i>
        <div class="prev-next-info">
            <p class="prev-next-subtitle">previous</p>
            <p class="prev-next-title">pyarrow.compute.approximate_median</p>
        </div>
    </a>
    <a class='right-next' id="next-link" href="pyarrow.compute.count_distinct.html" title="next page">
    <div class="prev-next-info">
        <p class="prev-next-subtitle">next</p>
        <p class="prev-next-title">pyarrow.compute.count_distinct</p>
    </div>
    <i class="fas fa-angle-right"></i>
    </a>
</div>
              
          </main>
          

      </div>
    </div>
  
    <script src="../../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf"></script>
  <footer class="footer mt-5 mt-md-0">
  <div class="container">
    
    <div class="footer-item">
      <p class="copyright">
    &copy; Copyright 2016-2022 Apache Software Foundation.<br>
</p>
    </div>
    
    <div class="footer-item">
      <p class="sphinx-version">
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 4.4.0.<br>
</p>
    </div>
    
  </div>
</footer>
<script type="text/javascript" src="/docs/_static/versionwarning.js"></script>  </body>
</html>