相关疑难解决方法(0)

Cumsum在NaN重置

如果我有一个1或NaN的pandas.core.series.Series命名ts如下:

3382   NaN
3381   NaN
...
3369   NaN
3368   NaN
...
15     1
10   NaN
11     1
12     1
13     1
9    NaN
8    NaN
7    NaN
6    NaN
3    NaN
4      1
5      1
2    NaN
1    NaN
0    NaN
Run Code Online (Sandbox Code Playgroud)

我想计算这个系列的cumsum但它应该在NaN的位置重置(设置为零),如下所示:

3382   0
3381   0
...
3369   0
3368   0
...
15     1
10     0
11     1
12     2
13     3
9      0
8      0
7      0
6      0
3      0
4      1
5      2 …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas cumsum

16
推荐指数
4
解决办法
5638
查看次数

Pandas累计和列的条件

我没有在其他地方找到答案,所以我需要问一下.可能是因为我不知道如何正确命名它.(英语不是我的原始语言)

我有大的日期时间数据框.时间在这里很重要.df中的一列具有值[Nan,1,-1].我需要执行快速计算,以便在值发生变化时进行累积和重置.

例.

    Time                 sign    desire_value
2014-01-24 05:00:00      Nan     Nan 
2014-01-24 06:00:00      Nan     Nan
2014-01-24 07:00:00      Nan     Nan 
2014-01-24 08:00:00      1       1
2014-01-24 09:00:00      1       2
2014-01-24 10:00:00      1       3
2014-01-24 11:00:00      -1      1
2014-01-24 12:00:00      -1      2
2014-01-24 13:00:00      -1      3
2014-01-24 14:00:00      -1      4
2014-01-24 15:00:00      -1      5
2014-01-24 16:00:00      1       1
2014-01-24 17:00:00      1       2
2014-01-24 18:00:00      1       3
2014-01-24 19:00:00      -1      1
2014-01-24 20:00:00      -1      2  
2014-01-24 21:00:00      1       1
2014-01-24 22:00:00      1       2
Run Code Online (Sandbox Code Playgroud)

我有使用函数的工作解决方案,但效率不高.

    df['sign_1'] …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

6
推荐指数
1
解决办法
5581
查看次数

Pandas:dataframe cumsum,如果其他列为false则重置

我有一个包含2列的数据框,这里的目标很简单; 如果行列设置为False,则重置df.cumsum();

DF

      value      condition
0       1            1
1       2            1
2       3            1
3       4            0
4       5            1
Run Code Online (Sandbox Code Playgroud)

想要的结果如下:

DF

      value      condition
0       1            1
1       3            1
2       6            1
3       4            0
4       9            1
Run Code Online (Sandbox Code Playgroud)

如果我循环数据帧,如本文所述Python pandas cumsum()重置后达到最大值 我可以实现想要的结果,但我正在寻找一个更加矢量化的方式使用pandas标准函数

numpy dataframe pandas cumsum

1
推荐指数
1
解决办法
359
查看次数

标签 统计

pandas ×3

cumsum ×2

dataframe ×2

numpy ×2

python ×2