使用的是面部表情fer2013数据集:

Kaggle链接:链接

百度云链接:https://pan.baidu.com/s/1P_RAqH_SWD9xLqYOA3aElw ,提取码:8m8p

读取csv文件

# 使用 pandas 读取csv文件
import pandas as pd

# 读取fer2013数据集,人脸表情数据集
fer2013 = pd.read_csv("data/fer2013/fer2013.csv")

在这里插入图片描述

获取指定列并计算它出现的次数

使用groupby()获取emotion列并计算它出现的次数

# 使用groupby()获取emotion列并计算它出现的次数
fer2013.groupby('emotion').emotion.count()

在这里插入图片描述

对指定列统计出现次数

groupby()方法是agg() ,它允许在 DataFrame 上运行一堆不同的函数。
例如,我们可以生成数据集的简单统计摘要,如下所示:

# groupby()方法是agg() ,它允许在 DataFrame 上运行一堆不同的函数。
# 例如,我们可以生成数据集的简单统计摘要,如下所示:
fer2013.groupby('emotion').emotion.agg([len, min, max])

在这里插入图片描述

按多列进行分组排序

按多列进行分组,emotion和Usage中获取训练集、测试集的数据量,多索引

# 按多列进行分组,emotion和Usage中获取训练集、测试集的数据量,多索引
fer2013.groupby(['emotion', 'Usage']).Usage.agg([len])

在这里插入图片描述

按多列进行分组排序并转换常规索引

多索引方法是转换回常规索引的方法,即reset_index()方法

# 多索引方法是转换回常规索引的方法,即reset_index()方法
fer2013_usage = fer2013.groupby(['emotion', 'Usage']).Usage.agg([len])
fer2013_usage.reset_index()

在这里插入图片描述

对统计的次数进行从小到大的顺序进行排序

可以看到emotion和Usage中获取训练集、测试集的数据量不是按多少进行排序
按照从小到大的顺序进行排序,通过by属性(Usage.agg([len])

# 可以看到emotion和Usage中获取训练集、测试集的数据量不是按多少进行排序
# 按照从小到大的顺序进行排序,通过by属性(Usage.agg([len])
fer2013_usage = fer2013.groupby(['emotion', 'Usage']).Usage.agg([len])
fer2013_usage.sort_values(by='len')

在这里插入图片描述

对统计的次数进行从大到小的顺序进行排序

降序排序,即数字较大的排在前面。

fer2013_usage = fer2013.groupby(['emotion', 'Usage']).Usage.agg([len])
# 降序排序,即数字较大的排在前面。
fer2013_usage.sort_values(by='len', ascending=False)

在这里插入图片描述

按多个列进行排序

按多个列进行排序:先emotion,后数据集划分Usage

fer2013_usage = fer2013.groupby(['emotion', 'Usage']).Usage.agg([len])
# 按多个列进行排序:先emotion,后数据集划分Usage
fer2013_usage.sort_values(by=['emotion','len'])

在这里插入图片描述

第一列从小到大,第二列从大到小排序

第一列从小到大,第二列从大到小排序

fer2013_usage = fer2013.groupby(['emotion', 'Usage']).Usage.agg([len])
# 第一列从小到大,第二列从大到小排序
fer2013_usage.sort_values(by=['emotion', 'len'], ascending=[True, False])

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐