Skip to main content

No project description provided

Project description

Tabular data processing for Continuous REPresentation

pytest code coverage Publish on Pypi

pip install crep

This simple module aims at providing some function to tackle tabular data that have a continuous axis. In situations, this index can represent time, but this tool was originally developed to tackle rail way description.

This simple tools helps providing tools to represent a linear structure (cable, rail, beam, pipe) whose characteristics are piece-wize constant (of strongly heterogeneous length)

Basic usage

  • Merge function merge together two dataframe
import pandas as pd

from crep import merge


df_left = pd.DataFrame(
    dict(id=[2, 2, 2],
         t1=[0, 100, 120],
         t2=[100, 120, 130],
         data1=[0.2, 0.1, 0.5])
)
df_right = pd.DataFrame(
    dict(id=[2, 2, 2],
         t1=[0, 80, 100],
         t2=[70, 100, 140],
         data2=[0.1, 0.3, 0.2])
)

ret = merge(data_left=df_left,
            data_right=df_right,
            id_continuous=["t1", "t2"],
            id_discrete=["id"],
            how="outer")

Yield the following result

drawing

Tools

Test if your data is admissible to the merge function, you can use the tools module

import pandas as pd

from crep import tools


df_admissible = pd.DataFrame(
    dict(id=[2, 2, 2],
         t1=[0, 100, 120],
         t2=[100, 120, 130],
         data1=[0.2, 0.1, 0.5])
)
df_not_admissible = pd.DataFrame(
    dict(id=[2, 2, 2],
         t1=[0, 90, 120],
         t2=[100, 120, 130],
         data1=[0.2, 0.1, 0.5])
)
# the second table is not admissible because for t in [90,100] two values are possible

assert tools.admissible_dataframe(
    df_admissible, id_continuous=["t1", "t2"],
    id_discrete=["id"])
assert not tools.admissible_dataframe(
    df_not_admissible, id_continuous=["t1", "t2"],
    id_discrete=["id"])
print(tools.sample_non_admissible_data(
    df_not_admissible, id_continuous=["t1", "t2"],
    id_discrete=["id"]
))
# id  t1   t2  data1
# 1   2  90  120    0.1

Acknowledgement

This implementation come from an SNCF DTIPG project and is developed and maintained by Mews Labs and SNCF DTIPG.

drawing drawing

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

crep-2025.1.3.tar.gz (37.4 kB view details)

Uploaded Source

Built Distribution

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

crep-2025.1.3-py3-none-any.whl (40.5 kB view details)

Uploaded Python 3

File details

Details for the file crep-2025.1.3.tar.gz.

File metadata

  • Download URL: crep-2025.1.3.tar.gz
  • Upload date:
  • Size: 37.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for crep-2025.1.3.tar.gz
Algorithm Hash digest
SHA256 6f17678fff08e3bfec3a3f0c755363ead90927987a58598312f2cca889bccabf
MD5 204cf70176824aae2c3e24ff1ae010be
BLAKE2b-256 d99227f7b8eddbf1db673f83784e26633cb2a4bc99a6397ba8d6937050412b45

See more details on using hashes here.

Provenance

The following attestation bundles were made for crep-2025.1.3.tar.gz:

Publisher: publish.yml on eurobios-mews-labs/crep

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crep-2025.1.3-py3-none-any.whl.

File metadata

  • Download URL: crep-2025.1.3-py3-none-any.whl
  • Upload date:
  • Size: 40.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for crep-2025.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d9616a05219e7c8abb89d5ab1e5ba10a48012f68c90ca88b73e87c81172128c7
MD5 39db005c4f59ec86ec6933ffea9e1aaa
BLAKE2b-256 ec6594b2de063c37167a296b4c1031b8aaf09c3d3363ca6207786ebf689d2920

See more details on using hashes here.

Provenance

The following attestation bundles were made for crep-2025.1.3-py3-none-any.whl:

Publisher: publish.yml on eurobios-mews-labs/crep

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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