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

df = tibble(
    x=range(4),
    y=['zero', 'one', 'two', 'three']
)
df >> mutate(z=f.x)
"""# output
   x      y  z
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
0  0   zero  0
1  1    one  0
2  2    two  1
3  3  three  1
"""

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

df >> mutate(z=if_else(f.x>1, 1, 0)) >> filter(f.z==1)
"""# output:
   x      y  z
0  2    two  1
1  3  three  1
"""
# 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

# very 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


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

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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: datar-0.0.7.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.4.0-1047-azure

File hashes

Hashes for datar-0.0.7.tar.gz
Algorithm Hash digest
SHA256 94394c195fc05be2e8e17fb8077003ebd08f7c8af5fe07126adb6fbac2e245d8
MD5 81da5dd8ca2b4abc84acabe0120ddc0b
BLAKE2b-256 be7538a27a32dca34cd9d5a3687fbd347c85a50afeeb3be608ac790ba103e88b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: datar-0.0.7-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.4.0-1047-azure

File hashes

Hashes for datar-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 17064159476c6126aa61f5fb055bd972a615a190c55f53193400c6d06281c4a2
MD5 bebe58280ed0c8c88eab4266fa1b8554
BLAKE2b-256 96a3099a35b533e1059d2467cb8288097710b7870c927c8ac80e90c7e50ed258

See more details on using hashes here.

Supported by

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