tstoolbox
Command line script and Python library to work with time-series data.
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 7 committers (14.3%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.3%) to scientific vocabulary
Keywords
aggregate
filter
forecast
normalization
peak
rank
regression
rolling-window
time-series
trend
Keywords from Contributors
tide
dice-roller
tidalcycles
tidal
sun
moon
template-engine
dataset-generation
multi-omics
genomics
Last synced: 6 months ago
·
JSON representation
·
Repository
Command line script and Python library to work with time-series data.
Basic Info
Statistics
- Stars: 11
- Watchers: 2
- Forks: 6
- Open Issues: 3
- Releases: 0
Topics
aggregate
filter
forecast
normalization
peak
rank
regression
rolling-window
time-series
trend
Created about 11 years ago
· Last pushed 6 months ago
Metadata Files
Readme
Changelog
Contributing
License
Citation
Authors
README.rst
.. image:: https://github.com/timcera/tstoolbox/actions/workflows/pypi-package.yml/badge.svg
:alt: Tests
:target: https://github.com/timcera/tstoolbox/actions/workflows/pypi-package.yml
:height: 20
.. image:: https://img.shields.io/coveralls/github/timcera/tstoolbox
:alt: Test Coverage
:target: https://coveralls.io/r/timcera/tstoolbox?branch=master
:height: 20
.. image:: https://img.shields.io/pypi/v/tstoolbox.svg
:alt: Latest release
:target: https://pypi.python.org/pypi/tstoolbox/
:height: 20
.. image:: http://img.shields.io/pypi/l/tstoolbox.svg
:alt: BSD-3 clause license
:target: https://pypi.python.org/pypi/tstoolbox/
:height: 20
.. image:: http://img.shields.io/pypi/dd/tstoolbox.svg
:alt: tstoolbox downloads
:target: https://pypi.python.org/pypi/tstoolbox/
:height: 20
.. image:: https://img.shields.io/pypi/pyversions/tstoolbox
:alt: PyPI - Python Version
:target: https://pypi.org/project/tstoolbox/
:height: 20
tstoolbox - Quick Guide
=======================
The tstoolbox is a Python script to manipulate time-series on the command line
or by function calls within Python. Uses pandas (http://pandas.pydata.org/)
or numpy (http://numpy.scipy.org) for any heavy lifting.
Installation
------------
Should be as easy as running ``pip install tstoolbox`` or
``easy_install tstoolbox`` at any command line. Not sure on Windows whether
this will bring in pandas, but as mentioned above, if you start with scientific
Python distribution then you shouldn't have a problem.
Usage - Command Line
--------------------
Just run 'tstoolbox --help' to get a list of subcommands::
usage: tstoolbox [-h]
{accumulate, add_trend, aggregate, calculate_fdc,
calculate_kde, clip, convert, convert_index,
convert_index_to_julian, converttz, lag, correlation,
createts, date_offset, date_slice, describe, dtw,
equation, ewm_window, expanding_window, fill, filter, fit,
read, gof, normalization, pca, pct_change, peak_detection,
pick, plot, rank, regression, remove_trend, replace,
rolling_window, stack, stdtozrxp, tstopickle, unstack,
about} ...
positional arguments:
{accumulate, add_trend, aggregate, calculate_fdc, calculate_kde, clip,
convert, convert_index, convert_index_to_julian, converttz, lag,
correlation, createts, date_offset, date_slice, describe, dtw, equation,
ewm_window, expanding_window, fill, filter, fit, read, gof,
normalization, pca, pct_change, peak_detection, pick, plot, rank,
regression, remove_trend, replace, rolling_window, stack, stdtozrxp,
tstopickle, unstack, about}
accumulate
Calculate accumulating statistics.
add_trend
Add a trend.
aggregate
Take a time series and aggregate to specified frequency.
calculate_fdc
Return the frequency distribution curve.
calculate_kde
Return the kernel density estimation (KDE) curve.
clip
Return a time-series with values limited to [a_min, a_max].
convert
Convert values of a time series by applying a factor and offset.
convert_index
Convert datetime to/from Julian dates from different epochs.
convert_index_to_julian
DEPRECATED: Use convert_index instead.
converttz
Convert the time zone of the index.
lag
Create a series of lagged time-series.
correlation
Develop a correlation between time-series and potentially lags.
createts
Create empty time series, optionally fill with a value.
date_offset
Apply a date offset to a time-series index.
date_slice
Print out data to the screen between start_date and end_date.
describe
Print out statistics for the time-series.
dtw
Dynamic Time Warping.
equation
Apply cto the time series data.
ewm_window
Calculate exponential weighted functions.
expanding_window
Calculate an expanding window statistic.
fill
Fill missing values (NaN) with different methods.
filter
Apply different filters to the time-series.
fit
Fit model to data.
read
Combines time-series from a list of pickle or csv files.
gof
Will calculate goodness of fit statistics between two time-series.
normalization
Return the normalization of the time series.
pca
Return the principal components analysis of the time series.
pct_change
Return the percent change between times.
peak_detection
Peak and valley detection.
pick
DEPRECATED: Will pick a column or list of columns from input
plot
Plot data.
rank
Compute numerical data ranks (1 through n) along axis.
regression
Regression of one or more time-series or indices to a time-series.
remove_trend
Remove a 'trend'.
replace
Return a time-series replacing values with others.
rolling_window
Calculate a rolling window statistic.
stack
Return the stack of the input table.
stdtozrxp
Print out data to the screen in a WISKI ZRXP format.
tstopickle
Pickle the data into a Python pickled file.
unstack
Return the unstack of the input table.
about
Display version number and system information.
optional arguments:
-h, --help show this help message and exit
The default for all of the subcommands is to accept data from stdin (typically
a pipe). If a subcommand accepts an input file for an argument, you can use
"--input_ts=input_file_name.csv", or to explicitly specify from stdin (the
default) "--input_ts='-'".
For the subcommands that output data it is printed to the screen and you can
then redirect to a file.
Usage - API
-----------
You can use all of the command line subcommands as functions. The function
signature is identical to the command line subcommands. The return is always
a PANDAS DataFrame. Input can be a CSV or TAB separated file, or a PANDAS
DataFrame and is supplied to the function via the 'input_ts' keyword.
Simply import tstoolbox::
import tstoolbox
# Then you could call the functions
ntsd = tstoolbox.fill(method='linear', input_ts='tests/test_fill_01.csv')
# Once you have a PANDAS DataFrame you can use that as input to other
# tstoolbox functions.
ntsd = tstoolbox.aggregate(statistic='mean', groupby='D', input_ts=ntsd)
Owner
- Name: Tim Cera
- Login: timcera
- Kind: user
- Website: https://timcera.bitbucket.io/
- Repositories: 69
- Profile: https://github.com/timcera
Florida Professional Engineer working in water resources. I program to support data analysis and model simulations.
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: tstoolbox
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Timothy
family-names: Cera
email: tim@cerazone.net
orcid: 'https://orcid.org/0000-0003-4613-7697'
identifiers:
- type: url
value: 'https://pypi.org/project/tstoolbox/'
description: Python Package Index URL for tstoolbox
repository-code: 'https://github.com/timcera/tstoolbox'
url: 'https://timcera.bitbucket.io/'
repository: 'https://bitbucket.org/timcera/tstoolbox/src/main/'
abstract: >-
Import, calculations, transformations, statistics, and
plots for time-series.
keywords:
- time-series
- filter
- regression
- rank
- peak
- normalization
- rolling-window
license: BSD-3-Clause
GitHub Events
Total
- Delete event: 2
- Issue comment event: 2
- Push event: 9
- Pull request event: 3
- Create event: 1
Last Year
- Delete event: 2
- Issue comment event: 2
- Push event: 9
- Pull request event: 3
- Create event: 1
Committers
Last synced: over 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Tim Cera | t****m@c****t | 886 |
| deepsource-autofix[bot] | 6****] | 11 |
| tim cera | t****a@s****m | 7 |
| DeepSource Bot | b****t@d****o | 7 |
| Timothy Cera | t****a@n****v | 3 |
| snyk-bot | s****t@s****o | 1 |
| sourcery-ai[bot] | 5****] | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 5
- Total pull requests: 19
- Average time to close issues: about 1 year
- Average time to close pull requests: 2 days
- Total issue authors: 2
- Total pull request authors: 4
- Average comments per issue: 0.8
- Average comments per pull request: 1.0
- Merged pull requests: 17
- Bot issues: 0
- Bot pull requests: 18
Past Year
- Issues: 0
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: 19 days
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.5
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 2
Top Authors
Issue Authors
- timcera (4)
- japageth (1)
Pull Request Authors
- deepsource-autofix[bot] (15)
- dependabot[bot] (2)
- snyk-bot (1)
- sourcery-ai[bot] (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (2)
github_actions (2)
Dependencies
.github/workflows/clean-workflow-runs.yml
actions
- dmvict/clean-workflow-runs v1.0.0 composite
.github/workflows/python-package.yml
actions
- actions/checkout v3 composite
- actions/setup-python v4 composite
pip_requirements.txt
pypi
- pandas >=0.17.1
- pygments >=2.7.4
- sphinx >=3.0.4
- sphinxcontrib-programoutput *
- wheel *
requirements.txt
pypi
- Pint_Pandas >=0.1
- XlsxWriter >=1.3.7
- cltoolbox >=1.0.0
- dateparser >=0.7.2
- matplotlib >=3.3.3
- numpy >=1.19.5
- pandas >=1.2.0
- plottoolbox >=101.4.12
- pyaf >=2.0.1
- pytest >=6.2.1
- scikit_learn >=0.24.0
- scipy >=1.6.0
- statsmodels >=0.12.0
- tabulate >=0.8.6
- typical >=2.0.33
- typing_extensions >=3.7.4.3
pyproject.toml
pypi
- HydroErr *
- cltoolbox >= 1.0.0
- dateparser *
- dill *
- numpy *
- pandas [excel]
- pint !=0.21.*
- pint <0.22; python_version < '3.9'
- pint-pandas *
- plottoolbox >= 102.1.1
- pydantic >= 2.0.0
- pydot *
- scikit-learn *
- scipy *
- six *
- sqlalchemy *
- statsmodels *
- tabulate *
setup.py
pypi