表示数据集:
te = {'A':[1,1,1,2,2,2],'B':[0,3,6,0,5,7]}
df = DataFrame(te, index = range(6))
vol = 0
我想在groupby函数之后将A
和它分组通过组:
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']
?
答案 0 :(得分:0)
如果我理解正确,你可以单独做两个操作而不用循环:
vol = df.A[df.B <= 0].sum()
df = df[df.B > 0] # equivalent to drop