Skip to main content

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:

with pv.vectornames('xy'):
  df = pv.magnitude(df, 'my_vector', '_magxy') # only xy magnitude
df = pv.magnitude(df, 'my_vector', '_mag') # xyz magnitude


pandas_vectors is available in the PyPi repository as pandas-vectors.

$ pip install pandas-vectors


0.1.1 Bugfix on function/variable 0.1 Initial Release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pandas-vectors, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size pandas_vectors-0.1.1-py2.py3-none-any.whl (5.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size pandas_vectors-0.1.1.tar.gz (3.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page