7 эффективных способов вычисления суммы и среднего положительных чисел в Python

Вычисление суммы и среднего значения положительных чисел — распространенная задача в анализе данных и программировании. В этой статье блога мы рассмотрим несколько эффективных методов достижения этой цели с помощью Python. Независимо от того, являетесь ли вы новичком или опытным программистом, эти методы помогут вам быстро вычислить сумму и среднее значение положительных чисел. Итак, приступим!

Метод 1: использование цикла for

def calculate_sum_mean(numbers):
    sum = 0
    count = 0
    for num in numbers:
        if num > 0:
            sum += num
            count += 1
    mean = sum / count if count > 0 else 0
    return sum, mean

Метод 2: использование понимания списка

def calculate_sum_mean(numbers):
    positive_numbers = [num for num in numbers if num > 0]
    sum = sum(positive_numbers)
    mean = sum / len(positive_numbers) if len(positive_numbers) > 0 else 0
    return sum, mean

Метод 3: использование функции filter()

def calculate_sum_mean(numbers):
    positive_numbers = list(filter(lambda x: x > 0, numbers))
    sum = sum(positive_numbers)
    mean = sum / len(positive_numbers) if len(positive_numbers) > 0 else 0
    return sum, mean

Метод 4: использование функции уменьшения() из модуля functools

import functools
def calculate_sum_mean(numbers):
    positive_numbers = list(filter(lambda x: x > 0, numbers))
    sum = functools.reduce(lambda x, y: x + y, positive_numbers, 0)
    mean = sum / len(positive_numbers) if len(positive_numbers) > 0 else 0
    return sum, mean

Метод 5: использование библиотеки numpy

import numpy as np
def calculate_sum_mean(numbers):
    positive_numbers = np.array(numbers)
    positive_numbers = positive_numbers[positive_numbers > 0]
    sum = np.sum(positive_numbers)
    mean = np.mean(positive_numbers) if positive_numbers.size > 0 else 0
    return sum, mean

Метод 6. Использование фреймов данных pandas

import pandas as pd
def calculate_sum_mean(numbers):
    df = pd.DataFrame(numbers, columns=['Numbers'])
    positive_numbers = df[df['Numbers'] > 0]
    sum = positive_numbers['Numbers'].sum()
    mean = positive_numbers['Numbers'].mean() if positive_numbers.shape[0] > 0 else 0
    return sum, mean

Метод 7: использование выражения-генератора

def calculate_sum_mean(numbers):
    positive_numbers = (num for num in numbers if num > 0)
    sum = sum(positive_numbers)
    mean = sum / len(positive_numbers) if len(positive_numbers) > 0 else 0
    return sum, mean

В этой статье мы рассмотрели семь эффективных методов вычисления суммы и среднего положительных чисел в Python. Эти методы предоставляют разные подходы: от базовых циклов for до расширенных библиотек, таких как NumPy и pandas. В зависимости от ваших конкретных потребностей и размера набора данных вы можете выбрать наиболее подходящий метод для достижения быстрых и точных результатов. Так что попробуйте эти методы в своем следующем проекте по анализу данных!