如何在 Python 中计算 Z 分数 – 统计学

您所在的位置:网站首页 zscore计算例题 如何在 Python 中计算 Z 分数 – 统计学

如何在 Python 中计算 Z 分数 – 统计学

2024-05-08 01:53| 来源: 网络整理| 查看: 265

如何在 python 中计算 z 分数经过 本杰明·安德森博 7月 28, 2023 指导 0 条评论

在统计学中, z 分数告诉我们某个值与平均值的标准差有多少。我们使用以下公式来计算 z 分数:

z = (X – μ) / σ

金子:

X 是单个原始数据值μ 是总体平均值σ 是总体标准差

本教程介绍如何在 Python 中计算原始数据值的 z 分数。

如何用 Python 计算 Z 分数

我们可以使用scipy.stats.zscore在 Python 中计算 z 分数,它使用以下语法:

scipy.stats.zscore(a, axis=0, ddof=0, nan_policy=’propagate’)

金子:

a :包含数据的数组类型对象axis :计算 z 分数的轴。默认值为 0。ddof :标准差计算中自由度的修正。默认值为 0。nan_policy :当输入包含 nan 时如何处理。默认值是propagate,它返回nan。 ‘raise’ 引发错误,’omit’ 执行忽略 nan 值的计算。

以下示例说明如何使用此函数计算一维 numpy 数组、多维 numpy 数组和 Pandas DataFrame 的 z 分数。

Numpy 一维数组

第 1 步:导入模块。

import pandas as pd import numpy as np import scipy.stats as stats

步骤 2:创建值表。

data = np.array([6, 7, 7, 12, 13, 13, 15, 16, 19, 22])

步骤 3:计算表中每个值的 z 分数。

stats.zscore(data) [-1.394, -1.195, -1.195, -0.199, 0, 0, 0.398, 0.598, 1.195, 1.793]

每个 z 分数告诉我们单个值与平均值的标准差有多少。例如:

表中的第一个值“6”比平均值低1.394 个标准差。表中的第五个值“13”与平均值的标准差为0 ,即等于平均值。表中的最后一个值“22”比平均值高1.793 个标准差。Numpy 多维数组

如果我们有一个多维数组,我们可以使用axis参数来指定我们要计算相对于其自身数组的每个 z 分数。例如,假设我们有以下多维数组:

data = np.array([[5, 6, 7, 7, 8], [8, 8, 8, 9, 9], [2, 2, 4, 4, 5]])

我们可以使用以下语法来计算每个表的 z 分数:

stats.zscore(data, axis=1) [[-1.569 -0.588 0.392 0.392 1.373] [-0.816 -0.816 -0.816 1.225 1.225] [-1.167 -1.167 0.5 0.5 1.333]]

每个单独值的 z 分数是相对于它们所在的表显示的。例如:

第一个表中的第一个值“5”比其表平均值低1.159 个标准差。第二个表中的第一个值“8”比其表平均值低0.816 个标准差。第三个表中的第一个值“2”比其表的平均值低1.167 个标准差。熊猫数据框

假设我们有一个 Pandas DataFrame:

data = pd.DataFrame(np.random.randint(0, 10, size=(5, 3)), columns=['A', 'B', 'C']) data ABC 0 8 0 9 1 4 0 7 2 9 6 8 3 1 8 1 4 8 0 8

我们可以使用apply函数来计算每列各个值的 z 分数:

data.apply(stats.zscore) ABC 0 0.659380 -0.802955 0.836080 1 -0.659380 -0.802955 0.139347 2 0.989071 0.917663 0.487713 3 -1.648451 1.491202 -1.950852 4 0.659380 -0.802955 0.487713

每个单独值的 z 分数是相对于它们所在的列显示的。例如:

第一列中的第一个值“8”比该列的平均值高0.659 个标准差。第二列中的第一个“0”值比该列中的平均值低0.803 个标准差。第三列中的第一个值“9”比该列的平均值高0.836 个标准差。

其他资源:

如何在 Excel 中计算 Z 分数如何在 SPSS 中计算 Z 分数如何在 TI-84 计算器上计算 Z 分数

关于作者安德森博本杰明·安德森博

大家好,我是本杰明,一位退休的统计学教授,后来成为 Statorials 的热心教师。 凭借在统计领域的丰富经验和专业知识,我渴望分享我的知识,通过 Statorials 增强学生的能力。了解更多

添加评论取消回复


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3