Pandas 教程之六:Pandas DataFrame describe() 方法

Pandas DataFrame describe() 方法

Python是进行数据分析的绝佳语言,主要是因为它拥有以数据为中心的Python软件包的出色生态系统。Pandas就是其中之一,它使导入和分析数据变得更加容易。 

Pandas 数据框 describe()

Pandas describe()用于查看数据框或一系列数值的一些基本统计细节,如百分位数、平均值、标准差等。当将此方法应用于一系列字符串时,它会返回不同的输出,如下面的示例所示。

语法: DataFrame.describe(percentiles=None, include=None, exclude=None) 

参数: 

  • 百分位数:列出 0-1 之间的数字数据类型,以返回相应的百分位数 
  • include:描述数据框时要包含的数据类型列表。默认值为 None 
  • exclude:描述数据框时要排除的数据类型列表。默认值为 None 

返回类型:数据框的统计摘要。

创建 DataFrame 进行演示:

在以下示例中,使用的数据框包含一些 NBA 球员的数据。让我们通过导入数据来查看数据。

  • Python3

import pandas as pd

# reading and printing csv file

data = pd.read_csv('nba.csv')

print(data.head())

输出: 

            

Name            Team  Number Position   Age Height  Weight            College     Salary
0  Avery Bradley  Boston Celtics     0.0       PG  25.0    6-2   180.0              Texas  7730337.0  
1    Jae Crowder  Boston Celtics    99.0       SF  25.0    6-6   235.0          Marquette  6796117.0 
2   John Holland  Boston Celtics    30.0       SG  27.0    6-5   205.0  Boston University        NaN 
3    R.J. Hunter  Boston Celtics    28.0       SG  22.0    6-5   185.0      Georgia State  1148640.0 
4  Jonas Jerebko  Boston Celtics     8.0       PF  29.0   6-10   231.0                NaN  5000000.0 

在 Pandas 中使用 Describe 函数

通过在 DataFrame 上使用 describe(),我们可以轻松了解几个统计指标,包括平均值、中位数、标准差、四分位数等。

  • Python3

print(data.descibe())

           Number         Age      Weight        Salary
count  457.000000  457.000000  457.000000  4.460000e+02
mean    17.678337   26.938731  221.522976  4.842684e+06
std     15.966090    4.404016   26.368343  5.229238e+06
min      0.000000   19.000000  161.000000  3.088800e+04
25%      5.000000   24.000000  200.000000  1.044792e+06
50%     13.000000   26.000000  220.000000  2.839073e+06
75%     25.000000   30.000000  240.000000  6.500000e+06
max     99.000000   40.000000  307.000000  2.500000e+07

数值列说明说明:

count:非空值的总数
mean:列值的平均值
std:列值的标准差
min:列的最小值
25%:25百分位数
50%:50 百分位数
75%:75 百分位数
max:列的最大值

Pandas describe() 数字数据类型的行为

在此示例中,描述了数据框,并传递了 ['object'] 以包含一个参数来查看对象系列的描述。将 [.20, .40, .60, .80] 传递给百分位数参数以查看数字系列的相应百分位数。 

  • Python3

import pandas as pd

data = pd.read_csv('nba.csv')

 

# removing null values to avoid errors

data.dropna(inplace=True)

 

# percentile list

perc = [.20, .40, .60, .80]

 

# list of dtypes to include

include = ['object', 'float', 'int']

 

# calling describe method

desc = data.describe(percentiles=perc, include=include)

 

# display

desc

输出:

                 Name                  Team      Number Position         Age  \
count             364                   364  364.000000      364  364.000000   
unique            364                    30         NaN        5         NaN   
top     Avery Bradley  New Orleans Pelicans         NaN       SG         NaN   
freq                1                    16         NaN       87         NaN   
mean              NaN                   NaN   16.829670      NaN   26.615385   
std               NaN                   NaN   14.994162      NaN    4.233591   
min               NaN                   NaN    0.000000      NaN   19.000000   
20%               NaN                   NaN    4.000000      NaN   23.000000   
40%               NaN                   NaN    9.000000      NaN   25.000000   
50%               NaN                   NaN   12.000000      NaN   26.000000   
60%               NaN                   NaN   17.000000      NaN   27.000000   
80%               NaN                   NaN   30.000000      NaN   30.000000   
max               NaN                   NaN   99.000000      NaN   40.000000  
       Height      Weight   College        Salary  
count     364  364.000000       364  3.640000e+02  
unique     17         NaN       115           NaN  
top       6-9         NaN  Kentucky           NaN  
freq       49         NaN        22           NaN  
mean      NaN  219.785714       NaN  4.620311e+06  
std       NaN   24.793099       NaN  5.119716e+06  
min       NaN  161.000000       NaN  5.572200e+04  
20%       NaN  195.000000       NaN  9.472760e+05  
40%       NaN  212.000000       NaN  1.638754e+06  
50%       NaN  220.000000       NaN  2.515440e+06  
60%       NaN  228.000000       NaN  3.429934e+06  
80%       NaN  242.400000       NaN  7.838202e+06  
max       NaN  279.000000       NaN  2.287500e+07  

 

如输出图所示,Dataframe 的统计描述与分别传递的百分位数一起返回。对于包含字符串的列,数字运算将返回 NaN。 

描述一系列字符串 

在此示例中,通过 Name 列调用所描述的方法来查看具有对象数据类型的行为。 

  • Python3

# importing pandas module

import pandas as pd

 

# making data frame

data = pd.read_csv("nba.csv")

 

# removing null values to avoid errors

data.dropna(inplace=True)

 

# calling describe method

desc = data["Name"].describe()

 

# display

desc

输出:如输出图所示,describe() 的行为对于一系列字符串而言有所不同。在这种情况下,返回了不同的统计数据,如值计数、唯一值、顶部和发生频率。 

count               457
unique              457
top       Avery Bradley
freq                  1
Name: Name, dtype: object

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潜洋

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值