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:

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


Download files

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

Source Distribution

pandas_vectors-0.1.1.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

pandas_vectors-0.1.1-py2.py3-none-any.whl (5.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pandas_vectors-0.1.1.tar.gz.

File metadata

File hashes

Hashes for pandas_vectors-0.1.1.tar.gz
Algorithm Hash digest
SHA256 12acc0158c34270ec3c5f31c283d6c0ac0d256fe644d3676e47d9611b78dfc4b
MD5 a3f5e6254059361270fa89d4223a3c08
BLAKE2b-256 21eed1dd0c7371606998bbea75717c525ae6517326397180c6aa920e03512ca1

See more details on using hashes here.

File details

Details for the file pandas_vectors-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pandas_vectors-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 80ba14760e7a86026fe841f88255745c6691e989753dd3459e0a7bc4fe9130e9
MD5 9c59e15f49d29f6aee699e1f03c2636e
BLAKE2b-256 7be1a9eb46db959040fa59adb5e6bdfcfb807286ed3560067f19934eb7fe16be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page