Как циклом перебирать значения двух столбцов одновременно, чтобы они уовлетворяли условиям?
Как написать цикл, который будет перебирать значения двух столбцов DataFrame одновременно, чтобы они удовлетворяли условиям?
Например, вот мои два столбца:
Т Д
10 0,2
10 0,3
20 0,29
45 0,45
69 0
6 -1
Мне нужно посчитать, в скольких сроках Т<10, но при этом Д<0,2 (правильный ответ здесь, очевидно, 1: в последней строке).
Я могу посчитать количество удовлетворяющих меня повторений условия для каждого столбца отдельно:
arr = df['Т']
a = 0
for i in arr[:]:
if i < 10:
a += 1
Но вот как сделать комбинацию двух (а может и более) условий в разных arr пока не ясно.
Были попытки даже сделать так, но это бред полный, конечно:
a = 0
for i in df.columns:
if i in df['Т'] < 10 and i in df['Д']<0.2:
a += 1
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
In [68]: res = len(df.query("Т < 10 and Д < 0.2"))
In [69]: res
Out[69]: 1
или так:
In [73]: ((df['Т'] < 10) & (df['Д'] < 0.2)).sum()
Out[73]: 1