Read and write tfs files.
Project description
TFS-Pandas
This package provides reading and writing functionality for Table Format System (TFS) files.
Files are read into a TfsDataFrame
, a class built on top of the famous pandas.DataFrame
, which in addition to the normal behavior attaches an OrderedDict
of headers to the DataFrame
.
See the API documentation for details.
Installing
Installation is easily done via pip
:
python -m pip install tfs-pandas
One can also install in a conda
/mamba
environment via the conda-forge
channel with:
conda install -c conda-forge tfs-pandas
Example Usage
The package is imported as tfs
, and exports top-level functions for reading and writing:
import tfs
# Loading a TFS file is simple
data_frame = tfs.read("path_to_input.tfs", index="index_column")
# You can access and modify the headers with the .headers attribute
useful_variable = data_frame.headers["SOME_KEY"]
data_frame.headers["NEW_KEY"] = some_variable
# Manipulate data as you do with pandas DataFrames
data_frame["NEWCOL"] = data_frame.COL_A * data_frame.COL_B
# You can check the validity of a TfsDataFrame, and choose the behavior in case of errors
tfs.frame.validate(data_frame, non_unique_behavior="raise") # or choose "warn"
# Writing out to disk is simple too
tfs.write("path_to_output.tfs", data_frame, save_index="index_column")
Reading and writing compressed files is also supported, and done automatically based on the provided file extension:
import tfs
# Reading a compressed file is simple, compression format is inferred
df = tfs.read("path_to_input.tfs.gz")
# When writing choose the compression format by providing the appropriate file extension
tfs.write("path_to_output.tfs.bz2", df)
tfs.write("path_to_output.tfs.zip", df)
Package Scope
The package also provides some tools to validate and manipulate TfsDataFrames
and their headers; or lazily manage a collection of TFS files.
For instance with tfs.read_hdf()
and tfs.write_hdf()
the TfsDataFames
can also be saved as hdf5
files, if the hdf5
extra requirements are fulfilled.
The package, however, is made to handle I/O of TFS
files to TfsDataFrames
only: it is not meant to implement various calculations on TfsDataFrames
.
Some calculations are implemented in other packages of the ecosystem.
License
This project is licensed under the MIT License
- see the LICENSE file for details.
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
File details
Details for the file tfs-pandas-3.5.0.tar.gz
.
File metadata
- Download URL: tfs-pandas-3.5.0.tar.gz
- Upload date:
- Size: 30.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6929d1d229f6d32bf73aa215d663a1888e5f8e04dba55004557587d7544640d1 |
|
MD5 | aed16698da0c96cb030cb028f4e48928 |
|
BLAKE2b-256 | 2dc985daa688196865d5ee8cacf969a9ea84dfbc5e6fc481d2a3204b6b3373ce |
File details
Details for the file tfs_pandas-3.5.0-py3-none-any.whl
.
File metadata
- Download URL: tfs_pandas-3.5.0-py3-none-any.whl
- Upload date:
- Size: 24.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a64de5839bb0ba6a51c9253af6cfa08d185f91a6a7923133e69ed4b6630bb175 |
|
MD5 | 8be9516914fe77e53f2057d48d5424f0 |
|
BLAKE2b-256 | 834d0aeb73f099f5ff3df503c925876620df4e606b341cc170820abc83c7ee1f |