Python 3.x 如何将正号组和负号组组合在一起
dataframe有A列,我想检查连续值是负值组还是正值组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
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
你需要新专栏吗?预期产量是多少?