請考慮以下數(shù)據(jù)幀d = {'N': [1, 2, 1, 2], 'NV': [50, 50,200,200], 'VAL' : [100,0,10,0]}df = pd.DataFrame(data = d)給 N NV VAL0 1 50 1001 2 50 02 1 200 103 2 200 0我想分組,以便為每個NV獲得嚴格為正的VAL條目數(shù)。我希望得到的結(jié)果如下 NV VAL0 50 11 200 1有什么建議嗎?
3 回答

繁星coding
TA貢獻1797條經(jīng)驗 獲得超4個贊
df.query("VAL > 0").groupby("NV").size()
或
df.groupby("NV").VAL.agg(lambda y: (y > 0).sum())

狐的傳說
TA貢獻1804條經(jīng)驗 獲得超3個贊
嘗試:
df[df.VAL>0].groupby('NV').size().reset_index().rename(columns={0:'VAL'})
NV VAL
0 50 1
1 200 1

飲歌長嘯
TA貢獻1951條經(jīng)驗 獲得超3個贊
試試這個
df['VAL'] = df.loc[df['VAL']>0].groupby(df['NV']).transform('count') df.dropna(axis=0,inplace=True)
添加回答
舉報
0/150
提交
取消