You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python计算数据集的列方差平均值与行方差平均值

Python实现数据集列方差、列方差均值及行方差均值计算

待处理数据集

abcd
563212
981623
1581420

需求实现方案

下面分别用Pandas(适合结构化数据处理)和NumPy(适合数值计算)两种常用库实现需求:


1. Pandas实现

import pandas as pd

# 构造数据集
data = {
    'a': [5, 9, 15],
    'b': [6, 8, 8],
    'c': [32, 16, 14],
    'd': [12, 23, 20]
}
df = pd.DataFrame(data)

# 计算每列的样本方差(默认自由度ddof=1,若要总体方差需指定ddof=0)
column_variances = df.var()
print("各列方差:")
print(column_variances)

# 计算所有列方差的平均值
avg_column_variance = column_variances.mean()
print(f"\n所有列方差的平均值:{avg_column_variance:.2f}")

# 计算每行的样本方差及平均值
row_variances = df.var(axis=1)
print("\n各行方差:")
print(row_variances)
avg_row_variance = row_variances.mean()
print(f"\n所有行方差的平均值:{avg_row_variance:.2f}")

运行后输出示例:

各列方差:
a    25.000000
b     1.333333
c    81.000000
d    30.333333
dtype: float64

所有列方差的平均值:34.42

各行方差:
0    126.000000
1     30.333333
2     20.333333
dtype: float64

所有行方差的平均值:58.89

2. NumPy实现

import numpy as np

# 转换为numpy数组
arr = np.array([[5, 6, 32, 12], 
                [9, 8, 16, 23], 
                [15, 8, 14, 20]])

# 计算列样本方差(axis=0表示按列计算,ddof=1为样本方差)
col_vars = np.var(arr, axis=0, ddof=1)
print("各列方差:", col_vars)

# 列方差平均值
avg_col_var = np.mean(col_vars)
print("所有列方差的平均值:", round(avg_col_var, 2))

# 计算行样本方差及平均值
row_vars = np.var(arr, axis=1, ddof=1)
print("各行方差:", row_vars)
avg_row_var = np.mean(row_vars)
print("所有行方差的平均值:", round(avg_row_var, 2))

运行后输出示例:

各列方差: [25.          1.33333333 81.         30.33333333]
所有列方差的平均值: 34.42
各行方差: [126.          30.33333333  20.33333333]
所有行方差的平均值: 58.89

内容的提问来源于stack exchange,提问作者sayan sen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 01:18:28