Skip to main content

Port of dplyr and other related R packages in python, using pipda.

Project description

datar

Port of dplyr and other related R packages in python, using pipda.

Unlike other similar packages in python that just mimic the piping sign, datar follows the API designs from the original packages as much as possible. So that minimal effort is needed for those who are familar with those R packages to transition to python.

Pypi Github Building Docs and API Codacy Codacy coverage

Documentation | Reference Maps | Notebook Examples | API

Installtion

pip install -U datar

datar requires python 3.7.1+ and is backended by pandas (1.2+).

Example usage

from datar import f
from datar.dplyr import mutate, filter, if_else
from datar.tibble import tibble
# or
# from datar.all import f, mutate, filter, if_else, tibble

df = tibble(
    x=range(4),
    y=['zero', 'one', 'two', 'three']
)
df >> mutate(z=f.x)
"""# output
        x        y       z
  <int64> <object> <int64>
0       0     zero       0
1       1      one       1
2       2      two       2
3       3    three       3
"""

df >> mutate(z=if_else(f.x>1, 1, 0))
"""# output:
        x        y       z
  <int64> <object> <int64>
0       0     zero       0
1       1      one       0
2       2      two       1
3       3    three       1
"""

df >> filter(f.x>1)
"""# output:
        x        y
  <int64> <object>
0       2      two
1       3    three
"""

df >> mutate(z=if_else(f.x>1, 1, 0)) >> filter(f.z==1)
"""# output:
        x        y       z
  <int64> <object> <int64>
0       2      two       1
1       3    three       1
"""
# works with plotnine
# works with plotnine
import numpy
from datar.base import sin, pi
from plotnine import ggplot, aes, geom_line, theme_classic

df = tibble(x=numpy.linspace(0, 2*pi, 500))
(df >>
  mutate(y=sin(f.x), sign=if_else(f.y>=0, "positive", "negative")) >>
  ggplot(aes(x='x', y='y')) +
  theme_classic() +
  geom_line(aes(color='sign'), size=1.2))

example

# easy to integrate with other libraries
# for example: klib
import klib
from pipda import register_verb
from datar.datasets import iris
from datar.dplyr import pull

dist_plot = register_verb(func=klib.dist_plot)
iris >> pull(f.Sepal_Length) >> dist_plot()

example

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datar-0.1.0.tar.gz (9.7 MB view details)

Uploaded Source

Built Distribution

datar-0.1.0-py3-none-any.whl (9.7 MB view details)

Uploaded Python 3

File details

Details for the file datar-0.1.0.tar.gz.

File metadata

  • Download URL: datar-0.1.0.tar.gz
  • Upload date:
  • Size: 9.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.9.5 Linux/5.8.0-1033-azure

File hashes

Hashes for datar-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b55e9adcc86a1ddf8c5a70804d127c18ae3613381ef4dad08151d5853f6ae0b5
MD5 01fc697ce48afbf6c7a67a52a9995bc5
BLAKE2b-256 c2bf5e122e5ea37030e68b2645dc63cd61f8dc663010f49ea82a7c34219e0c5d

See more details on using hashes here.

Provenance

File details

Details for the file datar-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: datar-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.9.5 Linux/5.8.0-1033-azure

File hashes

Hashes for datar-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 33b22906c0a2bd703ca0c2435999137bcf1464a5f814fba6a53e8393d90600a4
MD5 e17ec405e834a5843b1e8abcd2f4ba3f
BLAKE2b-256 081de6a4e6ac609fc8866d2ab262e06ae1e4c61a85ac53ef61044fd44373bf11

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page