【pandas】根据dataframe某一列的值求另外一列的均值,然后将结果转换成键值对

标签: 一万遍也记不住  python  

情景:计算两次考试,所有学生的平均成绩:

 

'''a.csv
date,name,grade
2020-07-01,mary,70
2020-07-01,tom,80
2020-07-01,jerry,70
2020-07-02,mary,80
2020-07-02,tom,90
2020-07-02,tom,100'''

grade = pd.read_csv('C:\\test\\a.csv')

# average grade at 0701 and 0702
avg = grade['grade'].groupby(grade['date']).mean()

# format grade avg to 'avg: XX'
import math
avg_new = avg.apply(lambda x: 'avg: '+str(math.floor(x))) 

# last step, change avg_new to key-value
avg_new.to_dict()

结果:

 

版权声明:本文为u014458962原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u014458962/article/details/107680894

智能推荐

如何更快计算Dataframe里某一列中,上下两值的差值

#更新: 发现diff函数可以完全替代for语句,这样既减少了时间有减少了程序的复杂性!!大概操作就是 df[‘col_name’].diff(period=) period决定是第几期减第几期 #写这个的初衷是想在数据量很大的时候,在对dataframe里面的数据按照某规律进行排序后,通过循环计算相邻两行之间的差距非常耗时的问题。 在写循环的时候,希望大家考虑是不是可以使...

【DataFrame】通过正则表达式filter某一列,给另外一列赋值

如下,一些学生的考试成绩,我需要根据他们的名字来判断他们的性别, 然后存在一个新列里头。 在我实际的工作中,“通过名字来判断性别”这件事我必须要用正则表达式来完成。 那该怎么整呢?很简单 关键就在 df.loc[df['name'].str.contains('ary'), 'sexual'] = 'female' 这一句。外层的df.loc是filter行用的,在这里有更...

目标检测随笔。anchor的生成

目标的真实边界(ground_truth bounding box)。 而以像素为中心生成多个大小和宽高比(aspect ratio)的边界框,称为anchor box。基于深度学习的目标检测不使用传统的滑窗生成所有的窗口作为候选区域,FasterRCNN提出的RPN网络,处理较少但准确的候选区域。锚框即可理解为某个检测点处的候选区域。 假设图像高hhh,宽为www。以每个像素为中心,大小s&is...

数据结构与算法C++描述(14)---二叉搜索树

1、二叉搜索树的概念 二叉搜索树是一棵可能为空的二叉树,一棵非空的二叉搜索树有满足如下特征: 二叉树中所有的键值都是唯一的; 根节点所有左子树的键值(如果有的话)小于根节点的键值; 根节点所有右子树的键值(如果有的话)大于根节点的键值; 根节点的左右子树也都是二叉搜索树。 三个二叉搜索树如下: 2、二叉搜索树的C++描述 对于二叉搜索树,主要操作有插入一个元素(Insert)删除键值为k的元素(D...

数据库

什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据。 数据库诞生于1950年,随着信息技术的发展和人类社会的不断进步,特别是2000年后,数据库不在仅仅是存储和管理数据了,而转变成用户所需要的各种数据管理的方式,数据库有很多种类和功能,从最简单的存储有...

猜你喜欢

Centos7搭建Hadoop3.1.3完全分布模式

详细搭建可以参考我的Hadoop2.8.0安装 准备 本文下载的是3.1.3版本的Hadoop 关闭防火墙 虚拟机的准备 安装3个虚拟机并实现ssh免密码的登录 安装3个centos7虚拟机 安装3个机器,机器分别叫master slave1 slave2 在/etc/hostname下修改主机名 其他两台也是一样 修改主机映射 修改/etc/hosts文件 修改这3台机器的/etc/hosts文...

【u-boot-2016到s5pv210】2.7 uboot NandFlash驱动

【u-boot-2016到s5pv210】2.7 uboot NandFlash驱动 本章的问题: 1 nandflash是flash吗? 2 nandflash的常用接口 3 nandflash的特性是什么? 4 ok210上s5pv210是怎么控制nandflash的 5 u-boot-2016.09.01中,nandflash的流程 6 nandflash在u-boot驱动中的关注点是什么?...

muduo库之thread类

Thread类图 Thread::start()调用的是startThread(…) 关于startThread(…)函数,它的形参是ThreadDate类,下面是该类的结构体 `struct ThreadData { typedef muduo::Thread::ThreadFunc ThreadFunc; ThreadFunc func_; string name_...

Qt音视频开发26-ffmpeg播放器

一、前言 用ffmpeg来实现自己的播放器,这是一直以来的一个目标,之前的难点卡在音视频同步以及如何播放声音这两点(尽管之前已经进行过不少的尝试和探索,但是问题还是挺多,比如音视频同步不完美,有些文件正常而有些文件不准,声音播放采用的sdl总感觉多了个依赖怪怪的,而且很多初学者也反映希望采用Qt自身的类来播放),近期正好把这两个难点一一攻破了,音视频同步采用的外部时钟同步,声音播放采用的Qt自带的...

画出时钟并动态同步系统时间之二

画好了轮廓之后(关于画轮廓的内容),我们需要做的是把时针,分针,秒针画出来,单纯地画出来其实也很简单,只要确定终点就行了,起点就是圆心。 先看效果图: Talk is cheap,show you the code. 到了这里,其实主要是获取到的秒,分,时看你怎么用,把它的具体数值转换成角度,再根据角度写出终点的坐标即可实现。 一开始写代码的时候我也是只获取系统的时分秒,没有精确到小数点后的,也就...