项目作者: a-poor

项目描述 :
A package for defining (and performing) tabular-data transformations with JSON.
高级语言: Julia
项目地址: git://github.com/a-poor/DataTransform.jl.git
创建时间: 2021-05-06T17:10:11Z
项目社区:https://github.com/a-poor/DataTransform.jl

开源协议:MIT License

下载


DataTransform.jl

created by Austin Poor

Under Construction

This library is intended to help develop a standardized data-transformation schema for tabular data.

Data transformation files are defined in JSON so they are human-readable, trackable in VC, and so they can be passed between languages. DataTransform‘s goal is to promote reproducablity and clean transformations (rather than hack-y fixes, whenever possible).

You pass in a rectangular dataset and define a stack of transformations to apply — DataTransform.jl does the rest!

Quick Start

Installation

DataTransform Schema Reference

Data transform files are defined in JSON.

  • Select Column
    • by Name
      • Exact Match
      • Starts With
      • Ends With
      • Contains
      • RegEx
    • by Index
    • by Data Type
  • Filter Rows
    • by Value
      • Exact
      • In List
      • Range
      • RegEx (for Text)
      • Apply Function to Column
  • Arange Columns
    • Sort Names
    • In Specified Orders
  • Arange Rows
    • Sort by Column (or Column Combinations)
  • Apply Function by Column (or Row?)
    • Mapping
    • Convert Type
    • Case Function (if/else-if/else or case-when)
    • Predefined function from FeatureEng
  • Duplicate Column
    • (Using Column Select Operations)
  • Duplicate Rows
    • (Using Row Select Operations)
  • Rename Column
    • Mapping
    • RegEx
  • Join with Other Dataset?

The basic schema structure is:

  1. {
  2. "version": "0.1", // Schema Version Number for Compatability
  3. "transformations": [...] // List of Transformation Objects
  4. }

Deciding how to handle errors. Set error handling globally.

Example file: sample-transform.json.

API Reference

Contributing

Any contribution would be greatly appreciated! You can help by suggestint additions to the package or changes you think would help. In addition, please feel free to submit an issue or PR!

Thanks!
Austin