Вычисление суммы и среднего значения положительных чисел — распространенная задача в анализе данных и программировании. В этой статье блога мы рассмотрим несколько эффективных методов достижения этой цели с помощью 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. В зависимости от ваших конкретных потребностей и размера набора данных вы можете выбрать наиболее подходящий метод для достижения быстрых и точных результатов. Так что попробуйте эти методы в своем следующем проекте по анализу данных!