Time-series pre-processing, period conversion, normalization, visualization, and more.
Project description
Tspoon
Tspoon is a Python library for time-series pre-processing, period conversion, normalization, visualization and more.
Installation
Use the package manager pip to install tspoon.
pip install tspoon
Usage
Date functions
import tspoon as tsp
# returns first and last days of a month 'M' in a year 'Y'
tsp.firstdate(2024,2)
tsp.lastdate(2024,2)
# returns the count of days between 'startdate' and 'enddate'
tsp.datesbetween('2024-02-01','2024-06-30')
# transform 'YYYYMMDD' to 'YYYY-MM-DD'
tsp.daytrans('20240630')
# returns a date that is 'x' days before and after a given 'basedate'
tsp.dayahead('2024-06-30',25)
tsp.dayafter('2024-06-30',25)
# returns the ISO calendar week number(YYYYWW), month(YYYYMM), and year(YYYY) of a day
tsp.day2week('2024-06-30')
tsp.day2week('20240630')
tsp.day2month('20240630')
tsp.day2year('20240630')
# returns the quarter(YYYYqX) and month(YYYYMM)
tsp.month2quarter('202406')
tsp.quarter2month('2024q2')
# returns the first day(YYYY-MM-DD) of a week(YYYYWW) and month(YYYYMM)
tsp.week2day('202420')
tsp.month2day('202406')
# generates a data frame with converted periods
tsp.GenDf_w2m(df_w, aggregate='last')
tsp.GenDf_m2w(df_w, df_m, interpolate='linear')
tsp.GenDf_q2m(df_q, interpolate='linear')
tsp.GenDf_m2q(df_m, aggregate='last')
tsp.GenDf_y2m(df_y, interpolate='linear')
# returns backward and central moving average of a time series
tsp.bMA(dat, lag_day=14, todf=True)
tsp.cMA(dat, lag_day=14, lead_day=14, todf=True)
# returns yoy, mom, and un-yoy transformation
tsp.yoy(dat, period=12, smooth=(1,1))
tsp.mom(dat) # equivalent to tsp.mom(dat, period=1), tsp.yoy(dat, period=1)
tsp.unyoy(dat, dat_level, period=52, smooth=None) # dat_level contains the level information of the beginning day
Dummy generation
# generates dummy data frame
tsp.GenMonthDummy(['202003','202004','202005'], MW='month')
tsp.GenMonthDummy(['2020'+str(x) for x in range(10,26)], MW='week')
tsp.GenYearDummy(['2020'])
# generates structural break dummy data frame
tsp.GenStructBreakDummy(['202001','202002','202003','202004','202005','202006'], time='202003', MW='month')
tsp.GenStructBreakDummy(['202001','202002','202003','202004','202005','202006'], time='202003', time2='202005', MW='month')
Duplicates check
# returns unique and duplicate observations
tsp.uniq(['202001','202001','202002','202003'])
tsp.dupes(['202001','202001','202002','202003'])
Transformation functions
# returns unique and duplicate observations
tsp.x13as(df, period='M', X12PATH='./x13as/') # requires x12 ariam from us consensus
tsp.hp(df, period='M') # period can be 'D', 'W', 'M', 'Q', 'Y'
tsp.hptrend(df, lamb=1)
tsp.hpcycle(df, lamb=1)
tsp.norm(df) # (x-mean(x))/std(x) normalization
tsp.scale(df) # (x-min(x))/(max(x)-min(x)) rescale
tsp.unnorm(df, df.mean(), df.std())
# returns arima extrapolated time series
tsp.extrapolate(df, maxlags=1)
# returns proportaion, contribution,
tsp.proportion(df)
tsp.contribution(df, period=12)
tsp.contribution_proportion(df, period=12)
Visualization functions
# Make matplotlib use Hangul
tsp.Hangul(fonthpath='C:/Windows/Fonts/NanumBarunGothic.ttf')
# Make dynamic graph
tsp.Plotly(df, theme='white')
fig = df.plot(width=800, height=600)
plotly_theme(fig, fs=19, left_unit={'text':'(YoY, %)', 'fs':17})
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
tspoon-0.1.5.tar.gz
(9.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tspoon-0.1.5.tar.gz.
File metadata
- Download URL: tspoon-0.1.5.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8c77d36f45d160eaa1592ff21746dfaf231652553e33389633d3840a1ba5386
|
|
| MD5 |
7477b1bf3be157db7e659b5501d7fa13
|
|
| BLAKE2b-256 |
17a6b5f247e0d176b73485c7584161c5f3bad7f83bda677a18cda4f99540fe30
|
File details
Details for the file tspoon-0.1.5-py3-none-any.whl.
File metadata
- Download URL: tspoon-0.1.5-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d862518d081ed379e4da296e623dd0fa6bfaf51c47281aaddf2029cee2c555e
|
|
| MD5 |
d2c97219b28742ed1dbc612e84000bf9
|
|
| BLAKE2b-256 |
c3b8e9c37f70f742015d0eb4eec16b5dc636dd9002e7d1491a6dbdc1154017d4
|