Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/joshjetson/scdf

Manipulate your data frame with Controller DF
https://github.com/joshjetson/scdf

Last synced: about 1 hour ago
JSON representation

Manipulate your data frame with Controller DF

Awesome Lists containing this project

README

        


ctrldf











Documentation ·
Report a Bug ·
Demo .
Request Feature ·
Send a Pull Request

## Controller DF

[]()

A python library which creates a simple and easy to use data frame controller.
Using this library, along with streamlit and minimal (*included*) code, anyone can spin up a web app which allows you to control, manipulate and display a data set quickly and easily.

## Demo

- Quick column metrics

- Rapid column filter

- Instant type based column widgets

## Installation

```
$ pip install streamlit-controllerDF
```

## Getting started

After you pip install the module

**Batteries included method:**

Quick start

>
> - `Copy the included test_code.py contents`
> - test_code here click me
> - `Create a new python file and paste the contents of test_code.py into it`
> - `Name the file something you like and then:`
> ~~~
> $ streamlit run your_project.py
> ~~~
> - `Drag and drop csv file`
> - `Enjoy!`

**Batteries excluded method:**

Module only

> ~~~
> import streamlit_controllerDF as sc
> ~~~
> - `see documentation for usage`

## Documentation

**class streamlit_controllerDF.Widgets(dataframe, omit_columns=list())**

> Parameters:
>> - dataframe: A pandas data frame
>>> - *Two-dimensional, size-mutable, potentially heterogeneous tabular data.*
>> - omit_columns: A list of column names to be excluded
>>> - *The column names must be exact*

#### Example
```
import streamlit_controllerDF as sc
import pandas as pd

mydf = pd.read_csv('mycsv.csv')

ctrldf = sc.Widgets(mydf,omit_columns=['Engine_Size', 'Year'])
```

**method streamlit_controllerDF.Widgets.metrics()**

> Parameters:
>> - *None*

#### Example
```
import streamlit_controllerDF as sc
import pandas as pd

mydf = pd.read_csv('mycsv.csv')

ctrldf = sc.Widgets(mydf,omit_columns=['Engine_Size', 'Year'])

ctrldf.metrics()
```

## Limitations
- *This library is currently limited to support only files under 20MB*
- *Due to browser limitations only 12000 rows of data can be viewed at a time*

## To Do
*This library is the base of a much larger project.*
- [ ] Create a chart method which will populate various charts automatically
- [ ] Create a model method which will populate various ML models automatically
- [ ] Add support for automated api data import
- [ ] Add support for relational and non relational data bases
- [ ] Add support for automated queries
- [ ] Add support for big data
- [ ] Create large file size detection and implement chunking automatically
- [ ] Migrate from Pandas to Dask
- [ ] After Dask migration remove file size limitation

Thank you for viewing my project
sincerely