pandas.core.groupby.DataFrameGroupBy.describe #

DataFrameGroupBy。描述百分位数=包括=排除=[来源]

生成描述性统计数据。

描述性统计包括总结数据集分布的集中趋势、分散度和形状的统计(不包括NaN值)。

分析数值系列和对象系列,以及DataFrame混合数据类型的列集。输出将根据所提供的内容而有所不同。请参阅下面的注释了解更多详细信息。

参数
类似数字的百分位数列表,可选

要包含在输出中的百分位数。全部应介于 0 和 1 之间。默认值为 ,它返回第 25 个、第 50 个和第 75 个百分位数。[.25, .5, .75]

包括“全部”,类似数据类型的列表或无(默认),可选

要包含在结果中的数据类型白名单。被忽略Series。以下是选项:

  • 'all' :输入的所有列都将包含在输出中。

  • 类似列表的 dtypes :将结果限制为提供的数据类型。要将结果限制为数字类型,请提交 numpy.number。要将其限制为对象列,请提交numpy.object数据类型。字符串也可以以select_dtypes(eg )的形式使用 df.describe(include=['O'])。要选择 pandas 分类列,请使用'category'

  • 无(默认):结果将包括所有数字列。

排除类似列表的数据类型或无(默认),可选,

要从结果中忽略的数据类型黑名单。被忽略Series。以下是选项:

  • 类似列表的 dtypes :从结果中排除提供的数据类型。要排除数字类型,请提交 numpy.number.要排除对象列,请提交数据类型numpy.object。字符串也可以以select_dtypes(eg )的形式使用 df.describe(exclude=['O'])。要排除 pandas 分类列,请使用'category'

  • None(默认):结果将不排除任何内容。

返回
系列或数据框

提供的系列或数据框的摘要统计数据。

也可以看看

DataFrame.count

计算非 NA/空观察值的数量。

DataFrame.max

对象中的最大值。

DataFrame.min

对象中值的最小值。

DataFrame.mean

值的平均值。

DataFrame.std

观测值的标准偏差。

DataFrame.select_dtypes

DataFrame 的子集,根据数据类型包括/排除列。

笔记

对于数值数据,结果的索引将包括countmeanstdmin以及max下百分位数50和上百分位数。默认情况下,下百分位数为25,上百分位数为75。百分50位数与中位数相同。

对于对象数据(例如字符串或时间戳),结果的索引将包括countuniquetopfreq。这top 是最常见的值。这freq是最常见值的频率。时间戳还包括firstlast项目。

如果多个对象值具有最高计数,则 counttop结果将从具有最高计数的值中任意选择。

对于通过 a 提供的混合数据类型DataFrame,默认情况下仅返回数字列的分析。如果数据框仅包含对象和分类数据而没有任何数字列,则默认情况下会返回对象和分类列的分析。如果include='all'作为选项提供,结果将包括每种类型的属性的并集。

包含和排除参数可用于限制DataFrame分析 a 中的哪些列以进行输出。分析 时将忽略这些参数Series

例子

描述一个数字Series

>>> s = pd.Series([1, 2, 3])
>>> s.describe()
count    3.0
mean     2.0
std      1.0
min      1.0
25%      1.5
50%      2.0
75%      2.5
max      3.0
dtype: float64

描述一个绝对的Series.

>>> s = pd.Series(['a', 'a', 'b', 'c'])
>>> s.describe()
count     4
unique    3
top       a
freq      2
dtype: object

描述时间戳Series

>>> s = pd.Series([
...     np.datetime64("2000-01-01"),
...     np.datetime64("2010-01-01"),
...     np.datetime64("2010-01-01")
... ])
>>> s.describe()
count                      3
mean     2006-09-01 08:00:00
min      2000-01-01 00:00:00
25%      2004-12-31 12:00:00
50%      2010-01-01 00:00:00
75%      2010-01-01 00:00:00
max      2010-01-01 00:00:00
dtype: object

描述一个DataFrame.默认情况下仅返回数字字段。

>>> df = pd.DataFrame({'categorical': pd.Categorical(['d', 'e', 'f']),
...                    'numeric': [1, 2, 3],
...                    'object': ['a', 'b', 'c']
...                    })
>>> df.describe()
       numeric
count      3.0
mean       2.0
std        1.0
min        1.0
25%        1.5
50%        2.0
75%        2.5
max        3.0

描述 a 的所有列,DataFrame无论数据类型如何。

>>> df.describe(include='all')  
       categorical  numeric object
count            3      3.0      3
unique           3      NaN      3
top              f      NaN      a
freq             1      NaN      1
mean           NaN      2.0    NaN
std            NaN      1.0    NaN
min            NaN      1.0    NaN
25%            NaN      1.5    NaN
50%            NaN      2.0    NaN
75%            NaN      2.5    NaN
max            NaN      3.0    NaN

DataFrame通过将列作为属性访问来描述 a 中的列。

>>> df.numeric.describe()
count    3.0
mean     2.0
std      1.0
min      1.0
25%      1.5
50%      2.0
75%      2.5
max      3.0
Name: numeric, dtype: float64

描述中仅包含数字列DataFrame

>>> df.describe(include=[np.number])
       numeric
count      3.0
mean       2.0
std        1.0
min        1.0
25%        1.5
50%        2.0
75%        2.5
max        3.0

描述中仅包含字符串列DataFrame

>>> df.describe(include=[object])  
       object
count       3
unique      3
top         a
freq        1

仅包括DataFrame描述中的分类列。

>>> df.describe(include=['category'])
       categorical
count            3
unique           3
top              d
freq             1

从描述中排除数字列DataFrame

>>> df.describe(exclude=[np.number])  
       categorical object
count            3      3
unique           3      3
top              f      a
freq             1      1

从描述中排除对象列DataFrame

>>> df.describe(exclude=[object])  
       categorical  numeric
count            3      3.0
unique           3      NaN
top              f      NaN
freq             1      NaN
mean           NaN      2.0
std            NaN      1.0
min            NaN      1.0
25%            NaN      1.5
50%            NaN      2.0
75%            NaN      2.5
max            NaN      3.0