convenience functions for dealing with vectors in panda dataframes
Project description
These are a bunch of convenience functions to help with the use of vectors stored in pandas dataframes.
For example, if you have a dataframe with columns of my_vector_x, my_vector_y and my_vector_z then you find yourself writing code like this:
for vector in ['my_vector_x', 'my_vector_y', 'my_vector_z']:
df[vector[:-2] + '_new' + vector[-2:]] = func(df[vector])
Now, you can write:
import pandas_vectors as pv
for vector,new in zip(pv.indexer('my_vector'), pv.indexer('my_vector_new')):
df[new] = func(df[vector])
In fact, you can simplify it more:
df = pv.transform(df, 'my_vector', '_new', func)
All the functions that take a vector as an input take a list of vectors.
df = pv.magnitude(df, ['my_vector', 'my_new_vector'])
Functions that take df as the first argument return the modified df.
Don’t use _x, _y and _z for your vector names? No problem.
# Set the vector suffixes to the argument given
pv.set_vectornames(['_u', '_v', '_w'])
# There are also some builtin shortcuts
pv.set_vectornames('xy') # ['_x', '_y']
pv.set_vectornames('xyz') # ['_x', '_y', '_z']
pv.set_vectornames('pyr') # ['_p', '_y', '_r']
pv.set_vectornames('PYR') # ['_pitch', '_yaw', '_roll']
This can also be set temporarily using with:
pv.set_vectornames('xyz')
with pv.vectornames('xy'):
df = pv.magnitude(df, 'my_vector', '_magxy') # only xy magnitude
df = pv.magnitude(df, 'my_vector', '_mag') # xyz magnitude
Installation
pandas_vectors is available in the PyPi repository as pandas-vectors.
$ pip install pandas-vectors
CHANGELOG
0.1.1 Bugfix on function/variable 0.1 Initial Release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pandas_vectors-0.1.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80ba14760e7a86026fe841f88255745c6691e989753dd3459e0a7bc4fe9130e9 |
|
MD5 | 9c59e15f49d29f6aee699e1f03c2636e |
|
BLAKE2b-256 | 7be1a9eb46db959040fa59adb5e6bdfcfb807286ed3560067f19934eb7fe16be |