Skip to main content

TrendShift 是一个构建器库,它将一些关于列的与趋势相关的累积计算信息附加到给定的 pandas DataFrame 上。

项目描述

趋势转变

TrendShift 是一个类似构建器的库,它将一些趋势聚合附加到给定的 pandas DataFrame 上。

在下图中,右侧数值的蓝线绘制了几个小时内的欧元/美元价格,左侧数值的红线绘制了每个价格变动之间的差异,即趋势。

https://westial.com/eurusdtrends.png

安装

pip install trendshift

用法

以下示例实现为“target_column”列中的数据框构建所有可用的 TrendShift 功能。

my_new_df: DataFrame = = TrendShift(input_dataframe, "target_column")\
    .with_sum()\
    .with_numbered_steps()\
    .with_simple_moving_avg()\
    .with_steps_by_trend()\
    .with_difference_by_trend()\
    .with_trend_countdown()\
    .build()

上面示例“input_dataframe.target_column”的片段将输出以下数据集。“target_column”值是原始值。

目标列 趋势总和 步数 simple_moving_avg 趋势差异 趋势步骤 趋势倒计时 其余的
0 1 0.0 20.0
1 16 15.0 1.0 15.0 20.0 2.0 2.0 5.0
2 21 20.0 2.0 10.0 1.0 0.0
3 21 0.0 0.0 0.0 0.0 0.0
4 21 0.0 0.0 0.0 0.0 0.0
5 21 0.0 0.0 0.0 0.0 -11.0
6 20 -1.0 1.0 -1.0 -11.0 3.0 3.0 -10.0
7 17 -4.0 2.0 -2.0 2.0 -7.0
8 10 -11.0 3.0 -3.6666666666666665 1.0

主界面src/trendshift/trendshift.py中的更多信息

概念

趋势

趋势是在增量或至少连续系列数据集中发现的模式,例如时间序列,它描述了数据是向上还是向下移动。

转移

Shift是输入序列数据集中的一组状态,仅在一个方向上,向上或向下。当下一个值的趋势与当前值不同时,当前的Shift结束,下一个Shift开始于下一个值。

Step是向上或向下Shift期间数据集系列中的一个状态。输入数据帧的一个步骤是Shift中的一行。

特征

TrendShift 在目标列上应用一些累积计算。它将每个计算的列作为结果附加到原始 DataFrame。

Shift中每个Step的累积和。

编号步骤

每个Shift的累积数。

SMA

简单移动平均线是Shift中所有Step之间差异的平均值。

趋势差异

Shift中第一个Step和最后一个Step之间的总差异。此值仅放置在第一个步骤中。

趋势步骤

Shift中的Step总数。此值仅放置在第一个步骤中 。

趋势倒计时

在Shift中反转倒置的累积数。

剩余趋势差异

任何趋势步骤与趋势结束时的步骤之间的差异。

测试

测试是这个项目的重要组成部分。我的开发方法是 BDD,我从tests/features开发了整个项目。

在那里,您可以找到有关该项目的任何服务或实体的最具体的文档。

如果您不仅是该库的用户,而且是想要调整或维护此代码的开发人员,那么您应该遵循相同的方式,BDD。

https://behave.readthedocs.io/是您必须安装的开发依赖项。

pip install behave

通过以下命令执行测试:

behave tests/features

作者

Jaume Mila Bea jaume@westial.com

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

Trendshift-0.5.0.tar.gz (17.5 kB 查看哈希

已上传 source

内置分布

trendshift-0.5.0-py3-none-any.whl (17.8 kB 查看哈希

已上传 py3