记录groupby的一次操作
df = pd.DataFrame({'key1':list('aabba'),
'key2': ['one','two','one','two','one'],
'data1': np.random.randn(5),
'data2': np.random.randn(5)})
df
| data1 | data2 | key1 | key2 | |
|---|---|---|---|---|
| 0 | -0.014192 | 2.236780 | a | one |
| 1 | -0.028981 | 0.507988 | a | two |
| 2 | -1.168170 | -0.818003 | b | one |
| 3 | 0.207849 | 0.755156 | b | two |
| 4 | -0.457174 | -1.407547 | a | one |
g=df.groupby(["key1"])
g.head(4)
| data1 | data2 | key1 | key2 | |
|---|---|---|---|---|
| 0 | -0.014192 | 2.236780 | a | one |
| 1 | -0.028981 | 0.507988 | a | two |
| 2 | -1.168170 | -0.818003 | b | one |
| 3 | 0.207849 | 0.755156 | b | two |
g['data1'].head(2)
0 -0.014192
1 -0.028981
2 -1.168170
3 0.207849
Name: data1, dtype: float64
feature_bag = g['data1'].apply(lambda x:set(x)).reset_index()
feature_bag
前面的情况比较好了解,groupby返回的是一个groupby对象。它实际上还没有进行任何计算,只是含有一些有分组键的中间数据而已。
因此输出g的时候,没有变化,抽取其中一列也和直接对df操作并没有什么区别。
但是做操作:feature_bag = g['data1'].apply(lambda x:set(x)).reset_index()。
做集合的时候,是以groupby()的key1的键值作为集合的生成判断标准的。
记录groupby的一次操作的更多相关文章
- Linux 记录所有用户登录和操作的详细日志
1.起因 最近Linux服务器上一些文件呗篡改,想追查已经查不到记录了,所以得想个办法记录下所有用户的操作记录. 一般大家通常会采用history来记录,但是history有个缺陷就是默认是1000行 ...
- Lua和C++交互 学习记录之二:栈操作
主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3 参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...
- Centos记录所有用户登录和操作的详细日志
1.起因 最近Linux服务器上一些文件呗篡改,想追查已经查不到记录了,所以得想个办法记录下所有用户的操作记录. 一般大家通常会采用history来记录,但是history有个缺陷就是默认是1000行 ...
- 如何记录linux终端下的操作日志
如何记录linux终端下的操作日志 在linux终端下,为方便检查操作中可能出现的错误,以及避免屏幕滚屏的限制,我们可以把操作日志记录下来.常用的工具有 screen,script,以及tee等,通过 ...
- JavaWeb学习记录(七)——MVC操作数据库增删改查与分页功能
一.分页工具类 package blank.util;import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; ...
- 记录MySQL的一些基础操作
MySQL建表操作 root@localhost 08:05:22> create table stu( -> id int(4) not null, -> name char(20 ...
- [转]使用tee记录mysql client 所有的操作,十个节省时间的mysql命令
查看:tail -f /tmp/jack.txt 一:tee方法一.配置文件在服务器上的/etc/my.cnf中的[client]加入 tee =/tmp/client_mysql.log即可. 方法 ...
- laravel记录笔记Laravel 连接数据库、操作数据库的三种方式
laravel中提供DB facade(原始查找).查询构造器.Eloquent ORM三种操作数据库方式 1.连接数据库 .env 数据库配置 DB_HOST=localhost dbhost DB ...
- Mybatis联合查询记录,左连接参数操作
公司业务需求要做个列表的排序 而实际排序的字段不再本库中,需要跨库去拿到字段,因为是微服务体系架构,不可能Left join跨库的表,所以决定调用一次跨服务的API拿到排序相关的对象,里面包含需要排序 ...
随机推荐
- Node.js环境安装
为其他使用先小小的接触这个环境,如不出意外,未来的一些时候抽时间会系统的学习element-ui, JavaScript, vue, node.js, 稍后也做个简易的ACE Editor体验一下 1 ...
- 在android项目中使用FontAwesome字体
在android项目中使用FontAweSome图标集,可以方便的适配各种屏幕分辨率,不必在各种不同分辨率文件夹中新建资源文件.使用字体是一种很巧妙的方法,把图像以字体的方式呈现,这样以前设置为and ...
- k8s的两种网络方案与多种工作模式[flannel与calico]
k8s的两种网络方案与多种工作模式 1. Flannel: flannel有三种工作模式: 1. vxlan(隧道方案) 2. host-gw(路由方案) 2. udp(在用户态实现的数据封装解封装, ...
- TiDB初探
TiDB是一个开源的分布式NewSQL数据库,设计的目标是满足100%的OLTP和80%的OLAP,支持SQL.水平弹性扩展.分布式事务.跨数据中心数据强一致性保证.故障自恢复的高可用.海量数据高并发 ...
- python中列表,元组,字符串 互相转换
#-*-coding:utf-8-*- #1.字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 's ...
- 安装mysql报错:遇到缺少vcruntime140_1.dll文件
把vcruntime140_1.dll文件放到System32 ,和System64就行 文件地址为:C:\Windows\System32 直接百度下载放进去就行
- jquery 李南江老师jquery和ajax视频教程
链接:https://pan.baidu.com/s/11QF97RLg1aW9bf6o-CdHvQ 密码:qfer https://www.bilibili.com/video/av22807707 ...
- Jmeter系列(30)- 详解 JDBC Request
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 JDBC Request 主要是 ...
- 深入浅出腾讯BERT推理模型--TurboTransformers
Overview TurboTransformers是腾讯最近开源的BERT推理模型,它的特点就是一个字,快.本人用BERT(huggingface/transformers)在V100上做了测试,测 ...
- 关于阿里云服务器Linux安装Tomcat后,外网不能访问解决方案
这里需要提及三个方面的问题 第一个方面:Linux上启动防火墙的问题 当下比较流行的Linux镜像是CentOS,所以防火墙也随之变成了firewall,那么怎么操作这个防火墙呢? #停止fi ...