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.8.tar.gz (40.9 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.8-py3-none-any.whl (44.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for crep-2025.1.8.tar.gz
Algorithm Hash digest
SHA256 e62954c2b0acdf638539bb610ff9e2b949394da97e173d62e0b97e9229b51951
MD5 f1705db63e56c00d6728599bbeb2fb85
BLAKE2b-256 c8815373b6131686db7897bc52246e1729b54666b001b2bc223437105652fc91

See more details on using hashes here.

Provenance

The following attestation bundles were made for crep-2025.1.8.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.8-py3-none-any.whl.

File metadata

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

File hashes

Hashes for crep-2025.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 435f70b85d7319c57bd1364487ab3b7e2c4b0e6b75dc426391eda43b18c01527
MD5 25262b3cd25111b0b203c8139baed4ff
BLAKE2b-256 32827b3f0ab452288c29e2368a7b9af8dfb561fde4c9fa892eb54ec7d79dd273

See more details on using hashes here.

Provenance

The following attestation bundles were made for crep-2025.1.8-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