在df列上嵌套“ifs”

2024-05-08 14:28:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名字叫数据。你知道吗

我想做一些类似的事情:

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

可能还有更多的列,这样我就可以跟踪几个条件同时满足的时间。这是有效的,但它是缓慢的,有什么更好的办法?你知道吗


Tags: 数据infordataifcount时间range
2条回答
count1 = df[df["col1"] > 25].count().values
count2 = df[(df["col1"]> 25) & (df["col2"]>35)].count().values

print count1
print count2

这是一个更好的方法:

cond1 = data.col1 > 25
cond2 = data.col2 > 35

count1 = cond1.sum()
count2 = (cond1 & cond2).sum()

相关问题 更多 >

    热门问题