当前位置: 首页 > 知识库问答 >
问题:

使用 Python 计算值组的标准偏差

芮安顺
2023-03-14

我的数据与此类似:

index name number difference
0     AAA  10     0
1     AAA  20     10
2     BBB  1      0
3     BBB  2      1
4     CCC  5      0
5     CCC  10     5
6     CCC  10.5   0.5

我需要计算基于名称组的差异列的标准偏差。

我试过了

data[['difference']].groupby(['name']).agg(['mean', 'std'])

data["std"]=(data['difference'].groupby('name').std())

但两者都为传递给groupby()的变量提供了KeyError。我试图用以下方法解决它:

data.columns = data.columns.str.strip()

但错误仍然存在。

提前谢谢。

共有1个答案

龚安民
2023-03-14

您可以先对整个数据框使用 groupby(['name']),并且只对感兴趣的列应用 agg:

data = pd.DataFrame({'name':['AAA','AAA','BBB','BBB','CCC','CCC','CCC'],
                    'number':[10,20,1,2,5,10,10.5],
                    'difference':[0,10,0,1,0,5,0.5]})
data.groupby(['name'])['difference'].agg(['mean', 'std'])
 类似资料:
  • 我有一分钟一分钟的熊猫数据帧df。我希望将加权应用于返回,并计算滚动加权均方差,窗口=10。我可以计算非加权性病,年化: 在Numpy中还有另一个关于加权std的问题,但我对滚动加权std很好奇。(加权标准偏差,单位为NumPy?) 计算加权标准差的公式为:https://math.stackexchange.com/questions/320441/standard-deviation-of-t

  • 问题内容: 使用Python,假设我正在运行已知数量的项目,并且能够计时处理每个项目要花费的时间,以及运行所花费的总时间以及到目前为止所处理项目的数量。我目前正在计算飞行中的平均值,但是如果说单个项目花费的时间特别长(几秒钟而不是几毫秒),则可能会导致偏差。 我想展示一个运行中的标准偏差。如何在不保存每个记录的情况下执行此操作? 问题答案: 我使用的是Welford方法,它给出的结果更准确。该链接

  • 我尝试使用< code>rowSds()来计算每一行的标准偏差,这样我就可以选择具有高标准偏差的行来绘制图表。 我的数据帧名为<code>xx 我试图计算每一行的标准偏差,并辅助sd列名: 我得到这个错误: 知道在计算SD时如何省略吗?我的语法正确吗?

  • 我想训练一些模型来处理灰度图像,例如对显微镜应用有用(Source)。因此,我想在灰度图像网上训练我的模型,使用pytorch灰度转换(torchvision.transforms.灰度),将RGB图像网转换为灰度图像网。内部pytorch将颜色空间从RGB旋转到YPbPr,如下所示: Y'是灰度通道,因此转换后Pb和Pr可以忽略。实际上pytorch甚至只计算 为了规范化图像数据,我需要知道灰度

  • 我试图在Excel中编写一个宏来计算a列中相同文本的标准偏差,从B列中获取值,并在C列中给出结果: 我手动输入了等式< code>=STDEV。s(A2;a3;a4;A16)表示“aaa”。但是我需要自动完成这项工作,因为我正在做另一个由宏完成的计算和程序。以下是我的代码: 如果有人能给我一个想法或解决方案,那就太好了。上面的代码用于计算相同文本值的总和。有什么方法可以修改我的代码来计算标准差?

  • 问题内容: 我使用下面的查询删除异常值(标准偏差的1.5倍)。 但是它给出了这个错误: 询问: 我不知道这是什么意思。 问题答案: 您可以诱使MySQL通过另一个子选择来做到这一点