pandas.DataFrame.describe

pandas.DataFrame.describe方法用于提供数据的统计摘要,包括数字列的百分位数、平均值、标准差等。可以自定义百分位数,默认包含[0.25, 0.50, 0.75]。此方法同样适用于分类、时间戳系列,以及DataFrame的特定列。通过include和exclude参数可以选择性地包含或排除特定数据类型进行描述。" 112054288,10548145,PyTorch多机多卡DistributedDataParallel分布式训练实战,"['PyTorch', '多任务训练', '分布式训练', 'DistributedDataParallel']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pandas.Da他Frame.describe 的参数有 percentiles , include ,exclude

percentiles 是自定义百分位的 ,数值是从0-1 之间,默认的是[0.25,0.50, 0.75] 可以自定义,但是结果会默认自带0.5 ,例如

import pandas as pd
a = pd.DatafFrame({"a":[1,2,3,4,5,6,7],"b":["b1","b2","b3","b4","b5","b6","b7"]})
a.describe(percentiles=[0.3,0.6,0.8])
# 输出
#            a
count  7.000000
mean   4.000000
std    2.160247
min    1.000000
30%    2.800000
50%    4.000000
60%    4.600000
80%    5.800000
max    7.000000
a.describe()
# 输出
             a
count  7.000000
mean   4.000000
std    2.160247
min    1.000000
25%    2.500000
50%    4.000000
75%    5.500000
max    7.000000

例子:

描述数字系列。

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

描述一个分类系列。

s = pd.Series([‘a’, ‘a’, ‘b’, ‘c’])

s.describe()

count 4

unique 3

top a

freq 2

dtype: object

描述时间戳系列。

s = pd.Series([

… np.datetime64(“2000-01-01”),

… np.datetime64(“2010-01-01”),

… np.datetime64(“2010-01-01”)

… ])

s.describe()

count 3

unique 2

top 2010-01-0100:00:00

freq 2

first 2000-01-01 00:00:00

last 2010-01-01 00:00:00

dtype: object

描述DataFrame。默认情况下只返回数字字段。

df = pd.DataFrame([[1, ‘a’], [2, ‘b’], [3, ‘c’]],

… columns=[‘numeric’, ‘object’])

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

描述DataFrame的所有列,而不管数据类型如何。

df.describe(include=‘all’)

    numericobject

count 3.0 3

unique NaN 3

top NaN b

freq NaN 1

mean 2.0 NaN

std 1.0 NaN

min 1.0 NaN

25% 1.5 NaN

50% 2.0 NaN

75% 2.5 NaN

max 3.0 NaN

通过访问DataFrame作为属性来描述列。

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=[np.object])

   object

count 3

unique 3

top b

freq 1

从DataFrame描述中排除数字列。

df.describe(exclude=[np.number])

   object

count 3

unique 3

top b

freq 1

从DataFrame描述中排除对象列。

df.describe(exclude=[np.object])

   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

特别指出 df.descirbe(include=[‘O’]) 是指的离散型列的描述统计,也就是不含有数值的那些列,举例子

import pnadas as pd
df = pd.DataFrame({"a":[1,2,3,4,5,6,7],"b":["b1","b2","b3","b4","b5","b6","b7"]})
df.describe(include=['O']# 输出
         b
count    7
unique   7
top     b1
freq     1

另外,一些说明:
1.count:非空值总数

2.mean:非空值的平均值

3.std:方差

4.min:最小值

  1. 25%:25%分位数

  2. 50%:50%分位数(中位数)

  3. 75%: 75%分位数

8.max: 最大值

9.dtype: 数据类型

10.unique: 唯一值数

11.top: 频数最高者

12.freq: 最高频数

#针对 df.describe(include=[np.object])如果多个对象值具有最高的计数,则计数和顶部结果将从计数最高的那些中任意选择

#还可以这样写 df.describe(include=‘O’)

#关于百分位的理解:
定义:
百分位数是某一百分位所对应数据的值,是统计学术语,如果将一组数据从小到大排序,并计算相应的累计百分位,可表示为:一组n个观测值按数值大小排列,如处于p%位置的值称第p百分位数。

百分位数是对应于百分位的实际数值,中位数是第50百分位数。

举例:
你是班上 20个学生里身高第四的学生
80% 的学生比你矮:
你身高是第 80个百分位数(百分等级是 80%)
如果你的身高是 1.85m,“1.85m” 是班上身高的 80% 百分位数。

#我个人理解:一组数据(n个),从低到高排名所对应的值。只不过最低按照第一名算,得分最高按照第n名算,将m 名对应的分数,只不过这个m 再换算成百分数,即 m/n 百分位 所对应的数值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值