【问题标题】:how to make groups of positive sign groups and negative sign groups如何制作正号组和负号组
【发布时间】:2021-02-03 03:42:39
【问题描述】:

数据框有A列,我想检查连续值何时是负组和正值组,

df=pd.DataFrame({'A':[0,-1203,-159,-35,0,0,0,0,205,-11,0,0,0,-145,-14,-12,0,182]}


Negative values group 1
0,-1203,-159,-35,0,0,0,0

positive values group 1
205

Negative values group 2
-11,0,0,0,-145,-14,-12,0
positive values group 2
182

【问题讨论】:

  • 您需要新专栏吗?预期输出是什么?

标签: python-3.x pandas numpy pandas-groupby


【解决方案1】:

不确定这是不是你想要的,但你可以试试这个

df['val'] = np.where(df['A'].gt(0).cumsum().diff().fillna(0).ne(0),'posgrp','ngrp' )

输出

A       val
0       ngrp
-1203   ngrp
-159    ngrp
-35     ngrp
0       ngrp
0       ngrp
0       ngrp
0       ngrp
205     posgrp
111     posgrp
-11     ngrp
0       ngrp
0       ngrp
0       ngrp
-145    ngrp
-14     ngrp
-12     ngrp
0       ngrp
182     posgrp

【讨论】:

    猜你喜欢
    • 2017-08-19
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 2015-11-15
    • 2017-05-14
    • 2014-03-07
    相关资源
    最近更新 更多