【问题标题】:Generate new column for a time series with a threshold为具有阈值的时间序列生成新列
【发布时间】:2019-05-12 15:55:50
【问题描述】:

我只是从这个 python 开始。 我有一个如下所示的 TS 数据集:
IN: adata.head()
输出:

datetime    wgt_gain
2018-05-08 16:00:00     0.0
2018-05-08 17:00:00     0.0
2018-05-08 18:00:00     0.0
2018-05-08 19:00:00     0.0
2018-05-08 20:00:00     0.0

它的描述是:
IN: adata.head()
Out:

    wgt_gain
count   4227.000000
mean    0.003929
std     0.177180
min     -0.966667
25%     -0.066667
50%     0.000000
75%     0.050000
max     0.985000

我想应用一个阈值与此类似的新列: 价值观: 介于 0 和 25% 之间 --> 1
介于 25% 和 50% 之间 --> 2
...
介于 75% 和 100% 之间 --> 4
并且类似于负值。

提前致谢。

【问题讨论】:

    标签: python-3.x time-series jupyter-notebook


    【解决方案1】:

    您可以使用pd.cut 将您的值分成离散区间,并将这些分档设置为您想要的quantiles

    adata['new_column'] = (pd.cut(adata.weight_gain,
                                  bins = adata.wgt_gain.quantile([0,.25,.5,.75,1]),
                                  labels=[1,2,3,4]))
    

    【讨论】:

      猜你喜欢
      • 2018-07-15
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-12
      • 2022-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多