Datamallet is a collection of helpful functions and modules built by Data scientists for Data scientists, to help
expedite the data science workflow.
From a technical standpoint, datamallet is built on top of the following libraries:
- Scikit-learn (for creating the transformer classes).
- Plotly (for the automatic visualization function).
- Pandas (for creating scikit-learn compatible transformers, and for creating utility functions for wrangling data).
- Numpy
- Scipy.
The goal of this project is to help Data scientists become more efficient in their roles by
providing commonly used functionality that have been battle tested and have been contributed by
other Data scientists.
datamallet is available on pip and can be installed using the command below:
pip install datamallet
from the main directory, you can run the tests by simply running the pytest command.
pytest
from datamallet.visualization import AutoPlot
import plotly.express as px
from datamallet.visualization import AutoPlot
tips = px.data.tips()
autoplot = AutoPlot(df=tips,include_scatter=True,include_pie=True,include_box=True, include_sunburst=True, include_violin=True, include_treemap=True, include_histogram=True, include_correlation=True, create_html=True, filename='autoplot')
list_of_charts = autoplot.show()
An html file with filename autoplot.html would be created (check the current directory, a sample is also
found in this repo),
the show method also creates a list of the plotly graph objects, so you have the option of not creating the chart but
using the list of graph objects to display the charts.
for chart in list_of_charts:
chart.show()
datamallet currently has the following modules
Visualizationmodule which contains helper functions for automatic visualization and for creating different types of charts such as:
-Scatter plots.
-Correlation plots.
-Histogram.
-Box plots.
-Violin plots.
-Treemaps.
-Sun burst Charts.
-Pie Charts.
-Density Contour Charts.
-Density Heatmap.
All these charts can be created automatrically using the Autoplot class in the visualization module,
they can also be created using individual functions in the plot module.
Tabularmodule contains scikit-learn compatible transformers for data manipulation for tabular data, (data which can be found in a table (pandas dataframe) either pure tabular or timeseries). The classes found in the tabular module can be used in a scikit-learn pipeline.
TheTabularmodule contains the following submodules:
-featureswhich contains scikit-learn compatible transformer classes for creating new features (more classes are welcome).
-timeserieswhich contains transformers for manipulating time series data.
-utilswhich contains helper functions for data wrangling and carrying out checks.
preprocesswhich contains transformers for preprocessing data.
