对于像这样的数据集:
te = {'A':[1,1,1,2,2,2],'B':[0,3,6,0,5,7]}
df = DataFrame(te, index = range(6))
vol = 0
我想A
在groupby函数之后对groupby进行遍历和遍历:
for name, group in df.groupby('A'):
for i, row in group.iterrows():
if row['B'] <= 0:
group = group.drop(i)
vol += row['A']
不知何故,我的代码无法正常工作,并且数据帧df
与for
循环之前保持不变。我需要使用该groupby()
方法,因为数据集的行将通过该循环之外的另一个循环增加,是否有任何方法可以从中删除组中的行groupby
?还是在将总和相加的同时将其过滤掉row['A']
?
如果我理解正确,则可以不进行循环就分别进行这两种操作:
vol = df.A[df.B <= 0].sum()
df = df[df.B > 0] # equivalent to drop
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句