0

获取数据帧(或列表或数组)中任何列的简单描述性统计信息的最佳方法是什么,无论是否嵌套,一种高级 df.describe() 还包括具有数值的嵌套结构。

就我而言,我有一个包含许多列的数据框。有些列的每一行都有一个数字列表(在我的例子中是一个时间序列结构),这是一个嵌套结构。

这种嵌套结构意味着:

  • 数组列表,
  • 数组数组,
  • 一系列列表,
  • 在某些列中具有嵌套数值列表的数据框(我的情况)

如何一次性从任何级别的嵌套结构中获取简单的描述性统计数据?

要求

df.describe() 

只会给我数字列的统计信息,但不会给我包含数值列表的列的统计信息。我无法仅通过应用获得统计信息

from scipy import stats
stats.describe(arr)

或者因为它是如何获得 NumPy 数组的描述性统计数据中的解决方案?对于非嵌套数组。

4

1 回答 1

0

我的第一种方法是首先获取每个数字列表的统计信息,然后再次获取该统计信息,例如平均值的平均值或方差的平均值也会给我一些信息。在我的第一种方法中,我首先将具有嵌套数值列表的特定列转换为一系列嵌套列表。嵌套数组或列表可能需要稍作调整,未经测试。

NESTEDSTRUCTURE = df['nestedColumn']

[stats.describe([a[x] for a in [stats.describe(x) for x in NESTEDSTRUCTURE]]) for x in range(6)]

为您提供嵌套结构列的统计信息。如果你想要一列的所有手段的平均值,你可以使用

stats.describe([a[2] for a in [stats.describe(x) for x in NESTEDSTRUCTURE]])

因为位置 2 代表“平均”

DescribeResult(nobs=, minmax=(, ), mean=, variance=, skewness=, kurtosis=)

我希望有一种更好的描述性统计方法,它也应该自动理解具有数值的嵌套结构,这只是一种解决方法。

于 2020-06-15T09:29:32.143 回答