Python 3.x 如何将正号组和负号组组合在一起

Python 3.x 如何将正号组和负号组组合在一起,python-3.x,pandas,numpy,pandas-groupby,Python 3.x,Pandas,Numpy,Pandas Groupby,dataframe有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

dataframe有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

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

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

你需要新专栏吗?预期产量是多少?