flexible dataframes to support nested structures.
Project description
BiocFrame
This package provides BiocFrame
class, a dataframe-like representation similar to a pandas, with support for flexible and nested objects.
BiocFrame
makes no assumption on the types of the columns, the minimum requirement is each column implements length: __len__
and slice: __getitem__
operations.
To get started, install the package from PyPI
pip install biocframe
Usage
Lets create a BiocFrame
from a dictionary
from random import random
from biocframe import BiocFrame
bframe = BiocFrame(
data = {
"seqnames": [
"chr1",
"chr2",
"chr2",
"chr2",
"chr1",
"chr1",
"chr3",
"chr3",
"chr3",
"chr3",
]
* 20,
"starts": range(100, 300),
"ends": range(110, 310),
"strand": ["-", "+", "+", "*", "*", "+", "+", "+", "-", "-"] * 20,
"score": range(0, 200),
"GC": [random() for _ in range(10)] * 20,
}
)
Access Properties
Accessor methods/properties are available to access column names, row names and dims.
# find the dimensions
print(bframe.dims)
# get the column names
print(bframe.column_names)
Setters
Using the Pythonic way to set properties
# set new column names
bframe.column_names = [..., new_column_names, ...]
print(bframe.column_names)
# add or reassign columns
bframe["score"] = range(200, 400)
Slice the BiocFrame
Currently slicing is only supported by indices or names (column names or row names). A future version may implement pandas query-like operations.
sliced_bframe = bframe[3:7, 2:5]
For more use cases including subset, checkout the documentation
Note
This project has been set up using PyScaffold 4.5. For details and usage information on PyScaffold see https://pyscaffold.org/.
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 BiocFrame-0.3.12-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5133dd97e610d6a854b8fd44cbb3ef4c78ccecdc1d8110754fee020c79acdbff |
|
MD5 | df9b4e38c8f686d4740c081ff65e94bf |
|
BLAKE2b-256 | 7797b8d0026c51f65dbae5efa8b5d64052f128499474f754878de9726eba7c42 |