当前位置: 首页 > 面试题库 >

Pandas:计算整个数据框的均值或标准差(标准差)

鲜于温书
2023-03-14
问题内容

这是我的问题,我有一个像这样的数据框:

    Depr_1  Depr_2  Depr_3
S3  0   5   9
S2  4   11  8
S1  6   11  12
S5  0   4   11
S4  4   8   8

我只想计算整个数据帧的平均值,因为以下方法不起作用:

df.mean()

然后我想出了:

df.mean().mean()

但是,此技巧不适用于计算标准偏差。我最后的尝试是:

df.get_values().mean()
df.get_values().std()

除了在后一种情况下,它使用了numpy中的mean()和std()函数。这不是平均值的问题,而是std的问题,因为pandas函数默认使用ddof=1,而不是numpy的where
ddof=0


问题答案:

您可以将数据stack框转换为单列(将形状从5x3更改为15x1),然后采用标准偏差:

df.stack().std()         # pandas default degrees of freedom is one

或者,您可以values在采用标准差之前使用来将熊猫数据框转换为numpy数组:

df.values.std(ddof=1)    # numpy default degrees of freedom is zero

与pandas不同,numpy默认情况下会给出整个数组的标准差,因此在进行标准差处理之前无需重塑形状。

另外一些注意事项:

  • 这里的numpy方法比熊猫方法要快一些,当您可以选择用numpy或pandas完成相同的事情时,通常情况就是这样。速度差异取决于数据的大小,但是当我在笔记本电脑(numpy版本1.15.4和pandas版本0.23.4)上测试一些不同大小的数据帧时,numpy的速度大约快10倍。

  • 此处的numpy和pandas方法不会给出完全相同的答案,但将非常接近(相同的精度为几位数)。差异是由于在幕后的实现中存在细微差异,这些差异会影响浮点值的取整方式。



 类似资料:
  • 我想计算两个相关数组的许多连续间隔的均值和标准偏差(如下所示),其中前两列分别是(比方说)时间和距离。第三、四、五是平均时间(中心)、平均距离和偏差标准。(实际上这是我亲手做的)。在这个例子中,平均值和标准差是为每三个连续的间隔做出的(但通常可以超过4×4,10×10,以此类推)。 所以,我有类似的长列表,我想计算(可能用PANDAS,NUMPY和/或SCIPY)类似的东西,做一些循环,创建平均时

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

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

  • 我的数据与此类似: 我需要计算基于名称组的差异列的标准偏差。 我试过了 和 但两者都为传递给的变量提供了KeyError。我试图用以下方法解决它: 但错误仍然存在。 提前谢谢。

  • 我想用excel计算三个月内三名员工的销售标准差和平均值。是否有一个公式可以根据所选员工姓名给出该公式?我希望它是一个可重复和可扩展的公式,适用于100名员工。另外,我不想在这里使用pivot功能,因为我想在pivot字段中使用std-dev和average。输入输入 输出

  • 本文向大家介绍Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算,包括了Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算的使用技巧和注意事项,需要的朋友参考一下 使用numpy可以做很多事情,在这篇文章中简单介绍一下如何使用numpy进行方差/标准方差/样本标准方差/协方差的计算。 variance: 方差 方差(Variance)是概率论中最基础