This is Team C's final project in Advanced Python.
A simple implementation of dataframe functionality
The library is available in Pypi
The easiest way to install ie_pandas is through pip
pip install ie_pandas
To use it in your project, you must first import the library
from ie_pandas import Dataframe
You can create a frame by the following 4 methods:
- A list of lists
- A numpy array of lists
- A dictionary of lists with keys being column names and values being the values for that column
- A dictionary of numpy arrays (same as with lists)
dictionary = {'c0': [1, 3, 5], 'c1': [7, 6, 2], 'c2': [2, 4, 7], 'c3': [5, 3, 9]}
df = DataFrame(dictionary)
- Create dataframes from list of lists, numpy arrays, dictionaries of lists and numpy arrays
dictionary = {'c0': [1, 3, 5], 'c1': [7, 6, 2], 'c2': [2, 4, 7], 'c3': [5, 3, 9]}
df = DataFrame(dictionary)
# You may optionally pass along two parameters, cols and index
# cols determines the column names (if blank they will be numerical strings)
# index determines the row names (if blank they will be numbers)
df = DataFrame(dictionary, cols = ["col0", "col1", "col2", "col3"], index = ["row1", "row2", "row3"])
- Access columns by name
df['column_1']
- Access rows by position or by row name
df.get_index(1)
# or
df.get_index('row_1')
- Access data like a numpy array by name
df[0:2, 1:3]
- Modify dataframe
df[0,0] = 3
- Sum, median, mean, min, max methods (only work for numerical columns)
df.mean()
Since the underlying object of the dataframe is a numpy array, you may perform aditional functionality like
df[:, 1:2].sum()
- Visualize relationships between 2 entirely numerical columns (only for numerical columns)
df.visualize(df[:, 2], df[:, 3])
# or
df.visualize(df["c1"], df["c2"])
IE_Pandas only requires the following packages:
- Numpy (>=1.16)
- Matplotlib (>=3.0.2)
However, for development purposes, the following packages are needed:
- Pytest (>= 4.2)
- Pytest-cov (>= 2.6)
- Black (for PEP8 compliance)
For development purposes, you may download the files directly and install the library locally by placing your terminal in the downloaded folder and doing
pip install --editable .[dev]
Then, to execute the tests you just need to run
pytest --cov
IE_Pandas complies to PEP8 and uses black
for coding standards
SemVer is used for versioning.
This project is licensed under the MIT License - see the License file for details