Metadata-Version: 1.1
Name: mframe
Version: 0.2.1
Summary: A lightweight single file DataFrame implementation that works on older Python distrubtions such as Jython.
Home-page: https://github.com/prio/mframe
Author: Jonathan Harrington
Author-email: jonathan@jonharrington.org
License: BSD
Description: ============================
        MFrame - A minimal DataFrame
        ============================
        
        
        A lightweight single file DataFrame implementation that works on older Python distrubtions such as Jython.
        
        I use it with Java data tools such as `Streamsets <https://streamsets.com/>`_.
        
        Feel free to fork, add tests and features and make a pull request.
        
        Install
        =======
        
        
         $ pip install mframe
        
        
        or copy mframe.py to your project folder.
        
        Usage
        =====
        
        It's goal is to be familar to pandas users without promising 100% compatability. My workflow usually involves writing the code in a Jupyter notebook using Python 3 and then testing it with Jython before deploying it to Streamsets.
        
        
            >>> from mframe import DataFrame
            >>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}
            >>> df = DataFrame(data)
            >>> df
            {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}
        
            >>> df.pd #  the pd alias returns a pandas dataframe, useful for printing in Jupyter when developing
                 col_1 col_2
            0      3     a
            1      2     b
            2      1     c
            3      0     d
        
            >>> df['col_1'] # Subscript access
            [3, 2, 1, 0]
        
            >>> df.col_1 # Attribute access
            [3, 2, 1, 0]
        
            >>> df[df.col_1 > 1] # filtering works
                 col_1 col_2
            0      3     a
            1      2     b
            >>> df[(df.col_1 > 1) & (df.col_2 == 'a')]
                 col_1 col_2
            0      3     a
        
            >>> df['col_1'] = df.col_1.apply(str) # Apply is available
            >>> df.col_1
            ['3', '2', '1', '0']
        
            >>> list(df.iterrows()) # returns a generator of dictionaries
            [{'col_1': '3', 'col_2': 'a'}, {'col_1': '2', 'col_2': 'b'}, {'col_1': '1', 'col_2': 'c'}, {'col_1': '0', 'col_2': 'd'}]
        
        Tested on
        =========
        
        - Python 3.7
        - Jython 2.7
Platform: UNKNOWN
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: Jython
Classifier: Programming Language :: Python :: Implementation :: CPython
