嵌套" ifs"在熊猫df专栏

时间:2016-07-29 23:22:39

标签: python pandas

我有一个名为data的pandas df。

我想做类似的事情:

for i in range(data["col1"].count()):
  if data["col1"][i] > 25:
    count1 += 1
    if data["col2"][i] > 35:
      count2 += 1

并且可能包含更多列,以便我可以跟踪多个条件何时一起得到满足。这有效,但它很慢,有什么更好的方法?

2 个答案:

答案 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