All Projects → zgbjgg → jun

zgbjgg / jun

Licence: MIT License
JUN - python pandas, plotly, seaborn support & dataframes manipulation over erlang

Programming Languages

erlang
1774 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to jun

Mlcourse.ai
Open Machine Learning Course
Stars: ✭ 7,963 (+37819.05%)
Mutual labels:  numpy, plotly, pandas, seaborn, scipy
Exploratory Data Analysis Visualization Python
Data analysis and visualization with PyData ecosystem: Pandas, Matplotlib Numpy, and Seaborn
Stars: ✭ 78 (+271.43%)
Mutual labels:  numpy, plotly, pandas, seaborn
Dask
Parallel computing with task scheduling
Stars: ✭ 9,309 (+44228.57%)
Mutual labels:  numpy, pandas, scipy
Docker Alpine Python Machinelearning
Small Docker image with Python Machine Learning tools (~180MB) https://hub.docker.com/r/frolvlad/alpine-python-machinelearning/
Stars: ✭ 76 (+261.9%)
Mutual labels:  numpy, pandas, scipy
Ml Cheatsheet
A constantly updated python machine learning cheatsheet
Stars: ✭ 136 (+547.62%)
Mutual labels:  numpy, pandas, scipy
Data Science Ipython Notebooks
Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.
Stars: ✭ 22,048 (+104890.48%)
Mutual labels:  numpy, pandas, scipy
Algorithmic-Trading
I have been deeply interested in algorithmic trading and systematic trading algorithms. This Repository contains the code of what I have learnt on the way. It starts form some basic simple statistics and will lead up to complex machine learning algorithms.
Stars: ✭ 47 (+123.81%)
Mutual labels:  numpy, pandas, scipy
Studybook
Study E-Book(ComputerVision DeepLearning MachineLearning Math NLP Python ReinforcementLearning)
Stars: ✭ 1,457 (+6838.1%)
Mutual labels:  numpy, pandas, scipy
Deep Learning Wizard
Open source guides/codes for mastering deep learning to deploying deep learning in production in PyTorch, Python, C++ and more.
Stars: ✭ 343 (+1533.33%)
Mutual labels:  numpy, plotly, pandas
Udacity-Data-Analyst-Nanodegree
Repository for the projects needed to complete the Data Analyst Nanodegree.
Stars: ✭ 31 (+47.62%)
Mutual labels:  numpy, pandas, seaborn
Orange3
🍊 📊 💡 Orange: Interactive data analysis
Stars: ✭ 3,152 (+14909.52%)
Mutual labels:  numpy, pandas, scipy
covid-19
Data ETL & Analysis on the global and Mexican datasets of the COVID-19 pandemic.
Stars: ✭ 14 (-33.33%)
Mutual labels:  numpy, pandas, seaborn
Stats Maths With Python
General statistics, mathematical programming, and numerical/scientific computing scripts and notebooks in Python
Stars: ✭ 381 (+1714.29%)
Mutual labels:  numpy, pandas, scipy
Docker Django
A complete docker package for deploying django which is easy to understand and deploy anywhere.
Stars: ✭ 378 (+1700%)
Mutual labels:  numpy, pandas, scipy
introduction to ml with python
도서 "[개정판] 파이썬 라이브러리를 활용한 머신 러닝"의 주피터 노트북과 코드입니다.
Stars: ✭ 211 (+904.76%)
Mutual labels:  numpy, pandas, scipy
Credit Risk Modelling
Credit Risk analysis by using Python and ML
Stars: ✭ 91 (+333.33%)
Mutual labels:  numpy, pandas, scipy
The-Data-Visualization-Workshop
A New, Interactive Approach to Learning Data Visualization
Stars: ✭ 59 (+180.95%)
Mutual labels:  numpy, pandas, seaborn
Ai Learn
人工智能学习路线图,整理近200个实战案例与项目,免费提供配套教材,零基础入门,就业实战!包括:Python,数学,机器学习,数据分析,深度学习,计算机视觉,自然语言处理,PyTorch tensorflow machine-learning,deep-learning data-analysis data-mining mathematics data-science artificial-intelligence python tensorflow tensorflow2 caffe keras pytorch algorithm numpy pandas matplotlib seaborn nlp cv等热门领域
Stars: ✭ 4,387 (+20790.48%)
Mutual labels:  numpy, pandas, seaborn
Data Analysis
主要是爬虫与数据分析项目总结,外加建模与机器学习,模型的评估。
Stars: ✭ 142 (+576.19%)
Mutual labels:  numpy, pandas, scipy
datascienv
datascienv is package that helps you to setup your environment in single line of code with all dependency and it is also include pyforest that provide single line of import all required ml libraries
Stars: ✭ 53 (+152.38%)
Mutual labels:  numpy, pandas, seaborn

jun

Jun

JUN - python pandas, plotly, seaborn support & dataframes manipulation over erlang

Hex.pm Build Status Codecov License: MIT Hex.pm Hex.pm

JUN is a wrapper written in erlang to execute pandas, plotly, seaborn functions and manipuling dataframes creating an isolated environment, so you can handle multiple environments to treat dataframes in each of one them.

Creating an environment

To create an environment you need start a jun worker:

(jun@hurakann)1> {ok, Pid} = jun_worker:start_link().
{ok, <0.338.0>}

This will create and hold your environment in the Pid so you can start with the pandas usage from there.

Loading data frames

For now the only way to load a dataframe into jun is reading a csv (in later version we are planning support all methods of pandas api):

(jun@hurakann)2> {ok, {_, DataFrame}} = jun_pandas:read_csv(Pid, <<"/file.csv">>, []).
{ok,{<<"pandas.core.frame.DataFrame">>, {'$erlport.opaque',python,
                       <<128,2,99,112,97,110,100,97,115,46,99,111,114,101,46,
                         102,114,97,109,101,10,68,97,116,...>>}}}

Ensure that path exists and is in atom data type. The above code should return a dataframe in an opaque format, so this object is a serializable of the original in py env, this dataframe is stored into DataFrame variable, so you can use for other purposes such execute a query, getting max, min etc.

Manipulating dataframe

Now it's time to use some functions over our dataframe previously loaded, for example sum all values of age column:

(jun@hurakann)3> jun_pandas:sum(Pid, DataFrame, <<"age">>, []).
{ok,13}

As you can see, the functions is executed through our environment and the response is delivered via the wrapper.

Handling errors

All errors will raise as a python errors, describing the class and arguments:

(jun@hurakann)4> jun_pandas:sum(Pid, DataFrame, <<"id">>, []). 
{error,{'exceptions.KeyError',"'id'"}}

Readable Data Frames into Erlang VM

If you noticed, we are working with opaque terms (serialization), this is because if we design a encoder/decoder for an erlang term to data frame in every execution this will be a very expensive task, so we decide use opaque terms, however sometimes you need to know the data frame in a readable syntax, for that purpose we design a single encoder:

(jun@hurakann)5> jun_pandas:to_erl(Pid, DataFrame).
{ok,{<<"pandas.core.frame.DataFrame">>,[<<"name">>,<<"age">>],
                                   [[<<"A">>,1],
                                    [<<"B">>,2],
                                    [<<"C">>,3],
                                    [<<"D">>,3],
                                    [<<"R">>,4]]}}

In the above snippet you can see how is a pandas dataframe represented in erlang term, the first is an atom with the class of the dataframe, the second are a list with the column names, the third is a list of lists with the values of each row.

Modules Index

Modules
jun_worker
jun_pandas
jun_pandas_series
jun_plotly
jun_seaborn

See also

KAA: support to execute jun tasks using protocol buffers

Authors

@zgbjgg Jorge Garrido [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].