Skip to content

TaurusOlson/fntools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fntools

https://readthedocs.org/projects/fntools/badge/?version=master

target:https://readthedocs.org/projects/fntools/?badge=master
alt:Documentation Status

fntools provides functional programming tools for data processing. This module is a set of functions that I needed in my work and found useful.

Installation

pip install fntools

Examples

  • Split a list of elements with factors with split:

    songs = ('Black', 'Even Flow', 'Amongst the waves', 'Sirens')
    albums = ('Ten', 'Ten', 'Backspacer', 'Lightning Bolt')
    print split(songs, albums)
    {'Lightning Bolt': ['Sirens'], 'Ten': ['Black', 'Even Flow'], 'Backspacer': ['Amongst the waves']}
    
  • Determine whether any element of a list is included in another list with any_in:

    print any_in(['Oceans', 'Big Wave'], ['Once', 'Alive', 'Oceans', 'Release'])
    True
    
    print any_in(['Better Man'], ['Man of the Hour', 'Thumbing my way'])
    False
    
  • Apply many functions on the data with dispatch:

    # Suppose we want to know the mean, the standard deviation and the median of
    # a distribution (here we use the standard normal distribution)
    
    import numpy as np
    np.random.seed(10)
    x = np.random.randn(10000)
    
    print dispatch(x, (np.mean, np.std, np.median))
    [0.0051020560019149385, 0.98966401277169491, 0.013111308495186252]
    

Many more useful functions are available. For more details, go to the documentation.

Inspirations

About

Functional programming tools for data processing

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published