📜  运行均值 - Python (1)

📅  最后修改于: 2023-12-03 15:28:18.643000             🧑  作者: Mango

运行均值 - Python

在统计和数据分析中,运行均值是一种反映数据集的中心趋势的统计量。在Python中,我们可以使用多种方法来计算运行均值。

1. 简单平均数

最简单的方法是使用Python内置的sum()和len()函数来计算简单平均数。

代码如下:

def mean(numbers):
    return sum(numbers) / len(numbers)

这个函数接受一个数字列表作为输入并返回它们的简单平均数。

2. 累计平均数

另一种常见的方法是使用累计平均数。累计平均数可以在处理流数据时非常有用,因为它可以避免每次计算所有数据的平均值。

代码如下:

def cumulative_mean(numbers):
    cum_sum = [0]
    for i, x in enumerate(numbers, 1):
        cum_sum.append(cum_sum[i-1] + x)
    return [round(cum_sum[i]/i, 2) for i in range(1, len(cum_sum))]

这个函数接受一个数字列表并返回一个数字列表,表示每个位置之前的元素的累计平均值。

3. 滑动平均数

如果需要在时间序列数据上计算运行均值,则可以使用滑动平均数。滑动平均数在时间序列分析中非常常见,它可以平滑噪声并突出趋势。

代码如下:

def moving_average(numbers, window_size):
    windows = [numbers[i:i+window_size] for i in range(len(numbers)-window_size+1)]
    return [sum(window)/window_size for window in windows]

这个函数接受一个数字列表和滑动窗口大小,并返回一个数字列表,表示在滑动窗口内的元素的平均值。

4. pandas库中的rolling方法

对于数据分析和处理,我们通常使用pandas库。pandas的rolling方法可以计算滑动平均数和其他运行统计量。

代码如下:

import pandas as pd

def rolling_mean(numbers, window_size):
    df = pd.DataFrame(numbers, columns=['value'])
    return df.rolling(window_size).mean().values.tolist()

这个函数接受一个数字列表和滑动窗口大小,并返回一个数字列表,表示在滑动窗口内的元素的平均值。这个函数使用pandas的DataFrame和rolling方法实现。

这是一个简单的例子,展示了如何计算运行均值。在实际应用中,我们可能需要更多的功能来处理不同类型的数据。