Skip to main content

__ Back to top

__ ` Ctrl ` \+ ` K `

[ ![pandas 2.2.1 documentation - Home](../_static/pandas.svg) ](../index.html)

Site Navigation

  * [ Getting started ](../getting_started/index.html)
  * [ User Guide ](index.html)
  * [ API reference ](../reference/index.html)
  * [ Development ](../development/index.html)
  * [ Release notes ](../whatsnew/index.html)

  * [ __ GitHub  ](https://github.com/pandas-dev/pandas "GitHub")
  * [ __ Twitter  ](https://twitter.com/pandas_dev "Twitter")
  * [ __ Mastodon  ](https://fosstodon.org/@pandas_dev "Mastodon")

Site Navigation

  * [ Getting started ](../getting_started/index.html)
  * [ User Guide ](index.html)
  * [ API reference ](../reference/index.html)
  * [ Development ](../development/index.html)
  * [ Release notes ](../whatsnew/index.html)

  * [ __ GitHub  ](https://github.com/pandas-dev/pandas "GitHub")
  * [ __ Twitter  ](https://twitter.com/pandas_dev "Twitter")
  * [ __ Mastodon  ](https://fosstodon.org/@pandas_dev "Mastodon")

  * [ 10 minutes to pandas ](10min.html)
  * [ Intro to data structures ](dsintro.html)
  * [ Essential basic functionality ](basics.html)
  * [ IO tools (text, CSV, HDF5, â¦) ](io.html)
  * PyArrow Functionality 
  * [ Indexing and selecting data ](indexing.html)
  * [ MultiIndex / advanced indexing ](advanced.html)
  * [ Copy-on-Write (CoW) ](copy_on_write.html)
  * [ Merge, join, concatenate and compare ](merging.html)
  * [ Reshaping and pivot tables ](reshaping.html)
  * [ Working with text data ](text.html)
  * [ Working with missing data ](missing_data.html)
  * [ Duplicate Labels ](duplicates.html)
  * [ Categorical data ](categorical.html)
  * [ Nullable integer data type ](integer_na.html)
  * [ Nullable Boolean data type ](boolean.html)
  * [ Chart visualization ](visualization.html)
  * [ Table Visualization ](style.html)
  * [ Group by: split-apply-combine ](groupby.html)
  * [ Windowing operations ](window.html)
  * [ Time series / date functionality ](timeseries.html)
  * [ Time deltas ](timedeltas.html)
  * [ Options and settings ](options.html)
  * [ Enhancing performance ](enhancingperf.html)
  * [ Scaling to large datasets ](scale.html)
  * [ Sparse data structures ](sparse.html)
  * [ Frequently Asked Questions (FAQ) ](gotchas.html)
  * [ Cookbook ](cookbook.html)

  * [ __ ](../index.html)
  * [ User Guide ](index.html)
  * PyArrow... 

#  PyArrow Functionality  #

pandas can utilize [ PyArrow
](https://arrow.apache.org/docs/python/index.html) to extend functionality and
improve the performance of various APIs. This includes:

  * More extensive [ data types ](https://arrow.apache.org/docs/python/api/datatypes.html) compared to NumPy 

  * Missing data support (NA) for all data types 

  * Performant IO reader integration 

  * Facilitate interoperability with other dataframe libraries based on the Apache Arrow specification (e.g. polars, cuDF) 

To use this functionality, please ensure you have [ installed the minimum
supported PyArrow version.  ](../getting_started/install.html#install-
optional-dependencies)

##  Data Structure Integration  #

A [ ` Series  ` ](../reference/api/pandas.Series.html#pandas.Series
"pandas.Series") , [ ` Index  `
](../reference/api/pandas.Index.html#pandas.Index "pandas.Index") , or the
columns of a [ ` DataFrame  `
](../reference/api/pandas.DataFrame.html#pandas.DataFrame "pandas.DataFrame")
can be directly backed by a [ ` pyarrow.ChunkedArray  `
](https://arrow.apache.org/docs/python/generated/pyarrow.ChunkedArray.html#pyarrow.ChunkedArray
"\(in Apache Arrow v15.0.0\)") which is similar to a NumPy array. To construct
these from the main pandas data structures, you can pass in a string of the
type followed by ` [pyarrow]  ` , e.g. ` "int64[pyarrow]""  ` into the ` dtype
` parameter

    
    
    In [1]: ser = pd.Series([-1.5, 0.2, None], dtype="float32[pyarrow]")
    
    In [2]: ser
    Out[2]: 
    0    -1.5
    1     0.2
    2    <NA>
    dtype: float[pyarrow]