我有一个名为data的pandas df。
我想做类似的事情:
for i in range(data["col1"].count()):
if data["col1"][i] > 25:
count1 += 1
if data["col2"][i] > 35:
count2 += 1
并且可能包含更多列,以便我可以跟踪多个条件何时一起得到满足。这有效,但它很慢,有什么更好的方法?
答案 0 :(得分:3)
这是一个更好的方法:
cond1 = data.col1 > 25
cond2 = data.col2 > 35
count1 = cond1.sum()
count2 = (cond1 & cond2).sum()
答案 1 :(得分:1)
count1 = df[df["col1"] > 25].count().values
count2 = df[(df["col1"]> 25) & (df["col2"]>35)].count().values
print count1
print count2