大家好,我是俊欣,本篇文章应该算得上是2022年的第一篇原创了,抱歉,元旦期间小编有点偷懒。
今天小编来给大家讲一下Pandas
模块当中的数据统计与排序,说到具体的就是value_counts()
方法以及sort_values()
方法。
value_counts()
方法,顾名思义,主要是用于计算各个类别出现的次数的,而sort_values()
方法则是对数值来进行排序,当然除了这些,还有很多大家不知道的衍生的功能等待被挖掘,下面小编就带大家一个一个的说过去。
导入模块并且读取数据库
我们这次用到的数据集是“非常有名”的泰坦尼克号的数据集,该数据源能够在很多平台上都能够找得到
import pandas as pd
df = pd.read_csv("titanic_train.csv")
df.head()
output
常规的用法
首先我们来看一下常规的用法,代码如下
df['Embarked'].value_counts()
output
S 644
C 168
Q 77
Name: Embarked, dtype: int64
下面我们简单来介绍一下value_counts()
方法当中的参数,
DataFrame.value_counts(subset=None,
normalize=False,
sort=True,
ascending=False,
dropna=True)
常用到参数的具体解释为:
subset: 表示根据什么字段或者索引来进行统计分析
normalize: 返回的是比例而不是频次
ascending: 降序还是升序来排
dropna: 是否需要包含有空值的行
对数值进行排序
上面返回的结果是按照从大到小来进行排序的,当然我们也可以反过来,从小到大来进行排序,代码如下
df['Embarked'].value_counts(ascending=True)
output
Q 77
C 168
S 644
Name: Embarked, dtype: int64
对索引的字母进行排序
同时我们也可以对索引,按照字母表的顺序来进行排序,代码如下
df['Embarked'].value_counts(ascending=True).sort_index(ascending=True)
output
C 168
Q 77
S 644
Name: Embarked, dtype: int64
当中的ascending=True
指的是升序排序
包含对空值的统计
默认的是value_counts()
方法不会对空值进行统计,那要是我们也希望对空值进行统计的话,就可以加上dropna
参数,代码如下