Skip to main content

BeForData: A Python package for behavioural force data

Data structures for handling behavioural force data

This package provides core classes and utilities for loading, processing, and analysing behavioural force data, such as those collected in experimental psychology or neuroscience. It offers a structured approach to manage epochs and records of force measurements, enabling efficient data manipulation and analysis.

BeForData is based on two structured classes of force data: one for the representation of the raw time-based force measurements in the shape of a dataframe (BeForRecord) and one for epoch-based representations as matrices (BeForEpochs).

Features

  • Flexible loading and saving of force data in common formats (e.g., CSV, XDF).
  • Efficient slicing and indexing of epochs and records for batch analysis.
  • Metadata management for experimental context, including event markers and annotations.
  • Utilities for preprocessing, such as filtering and baseline correction.
  • Integration with scientific Python libraries (NumPy, pandas) for advanced analysis.

Source code: https://github.com/lindemann09/befordata

Documentation: https://lindemann09.github.io/befordata/

(c) Oliver Lindemann

GitHub license PyPI

Data Structures

  • BeForRecord

    Represents a single continuous recording of force data, including metadata such as sampling rate, channel information, and experimental annotations. BeForRecord supports data cleaning, resampling, and extraction of epochs, and provides convenient access to raw and processed force signals.

    The data structure has the following attributes:

    • dat: DataFrame containing force measurements and optionally a time column.
    • sampling_rate: Sampling rate of the force measurements (Hz).
    • sessions: List of sample indices where new recording sessions start.
    • time_column (optional): Name of the column containing time stamps (if any).
    • meta (optional): Arbitrary metadata associated with the record.
  • BeForEpochs

    A container class for managing multiple epochs of force data. Each epoch represents a segment of continuous force measurements, typically corresponding to a trial or experimental condition. BeForEpochs provides methods for slicing, indexing, and batch-processing epochs, as well as for loading and saving epoch data from various formats.

    The data structure has the following attributes:

    • dat: 2D numpy array containing the force data (epochs x samples).
    • sampling_rate: Sampling rate of the force measurements (Hz).
    • design: DataFrame containing design/metadata for each epoch.
    • zero_sample: Sample index representing the sample of the time zero within each epoch (default: 0).
    • baseline (optional): 1D numpy array containing baseline values for each epoch at zero_sample.
    • meta (optional): Arbitrary metadata associated with the epochs.

Typical Workflow

  1. Load raw force data into a BeForRecord object.
  2. Preprocess and annotate the data as needed.
  3. Segment the data into epochs using event markers, creating a BeForEpochs object.

Install via pip

pip install befordata

Citation

If you use befordata in your research, please cite it as:

Lindemann, O. (2025). BeForData: A Python package for behavioural response force
data. [Computer software]. https://pypi.org/project/befordata/

Or in BibTeX:

@software{pybefordata2025,
  author    = {Lindemann, Oliver},
  title     = {{BeForData}: A {Python} package for behavioural force data},
  year      = {2025},
  url       = {https://pypi.org/project/befordata/}
  version   = {0.4}
}

Julia

A Julia implementation of BeForData is available as a beta release.

Download files

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

Source Distribution

befordata-0.4.9.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

befordata-0.4.9-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file befordata-0.4.9.tar.gz.

File metadata

  • Download URL: befordata-0.4.9.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for befordata-0.4.9.tar.gz
Algorithm Hash digest
SHA256 e253be011c7702be9699f2ef50a53d0cbbd5a96381012a453a53a0bb0f20fde0
MD5 bd9eaed25848dd2e0c9b4cd04c2646d5
BLAKE2b-256 a79e0fd8f2e38a5c6c461e4f6f9dae7fde08762375862597ab1dd3e1302485c4

See more details on using hashes here.

File details

Details for the file befordata-0.4.9-py3-none-any.whl.

File metadata

  • Download URL: befordata-0.4.9-py3-none-any.whl
  • Upload date:
  • Size: 21.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for befordata-0.4.9-py3-none-any.whl
Algorithm Hash digest
SHA256 72af784ae3473de07910c1aa21d4c71966e10c66f413814fb83df938b004a07f
MD5 239eff840dfe92ce4c976726bb6c85c0
BLAKE2b-256 754064d92417fa0858c466ad2a4f2d91b26e644e8c02bab9f10b5e1ccc134834

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.9 This release

2 files

0.4.8

2 files

0.4.7

2 files

0.4.6

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.8

2 files

0.3.7

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.5

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page