Pandas ExtensionDType/Array backed by Apache Arrow
Project description
fletcher
A library that provides a generic set of Pandas ExtensionDType/Array implementations backed by Apache Arrow. They support a wider range of types than Pandas natively supports and also bring a different set of constraints and behaviours that are beneficial in many situations.
Usage
To use fletcher
in Pandas DataFrames, all you need to do is to wrap your data
in a FletcherArray
object. Your data can be of either pyarrow.Array
,
pyarrow.ChunkedArray
or a type that can be passed to pyarrow.array(…)
.
import fletcher as fr
import pandas as pd
df = pd.DataFrame({
'str': fr.FletcherArray(['a', 'b', 'c'])
})
df.info()
# RangeIndex: 3 entries, 0 to 2
# Data columns (total 1 columns):
# str 3 non-null fletcher[string]
# dtypes: fletcher[string](1)
# memory usage: 100.0 bytes
Development
While you can use fletcher
in pip-based environments, we strongly recommend
using a conda
based development setup with packages from conda-forge
.
# Create the conda environment with all necessary dependencies
conda create -y -q -n fletcher python=3.6 \
black=18.5b0 \
codecov \
flake8 \
numba \
pandas \
pip \
pyarrow \
pytest \
pytest-cov \
pytest-flake8 \
six \
-c conda-forge
# Activate the newly created environment
source activate fletcher
# Install fletcher into the current environment
pip install -e .
# Run the unit tests (you should do this several times during development)
py.test
Code formatting is done using black. This should keep everything in a
consistent styling and the formatting can be automatically adjusted using
black .
. Note that we have pinned the version of black
to ensure that
the formatting is reproducible.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for fletcher-0.1.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57fa3bdac9fbb4a147c31eb9e1d21ebc38b62c7bd04b76eed7abb54b7ccd33cc |
|
MD5 | 5df5b85e557fb583d7266a62f95ea3db |
|
BLAKE2b-256 | 92a14fb87ebc6c6221b9679f00a90ba2274323dc2ffc617ed66cea8bde8e13bf |