df = pd.DataFrame([0, 30000, 75000, -300, 23000], columns=['income'])
print(df)
income
0 0
1 30000
2 75000
3 -300
4 23000
Если вы хотите посчитать значения в столбце, отвечающем чуть более сложному условию, чем просто положительное значение, например, «значение находится в диапазоне от 5000 до 25000», вы можете использовать два метода.
Во-первых, используя логическое индексирование,
((df['income'] > 5000) & (df['income'] < 25000)).sum()
Во-вторых, применяя функцию к каждой строке серии,
df['income'].map(lambda x: 5000 < x < 25000).sum()
Обратите внимание, что второй подход допускает произвольно сложные условия, нонамного медленнее, чем первый подход, использующий низкоуровневые операции с базовыми массивами.См. документацию по булевому индексированию для получения дополнительной информации.