相关文章推荐
鼻子大的小狗  ·  VisualStudio的CMake项目中如 ...·  1 年前    · 
大方的滑板  ·  cmip6数据处理:delta方法是每天的数 ...·  2 年前    · 
快乐的香菜  ·  vue清空数组的几个方式(小结)_vue.j ...·  2 年前    · 
文雅的山楂  ·  Json解析方式汇总 excel ...·  2 年前    · 
温文尔雅的罐头  ·  C/C++ ...·  2 年前    · 
Code  ›  pandas中groupby函数中参数ax_index和group_keys的区别 - osc_w0uxg75l的个人空间 -
索引 pandas true
https://my.oschina.net/u/4346988/blog/4535103
成熟的饭盒
2 年前

前言:笔者在学习pandas中groupby函数时,发现ax_index=True\False和group_key=True\False这两个参数相近又有所不同,特写出此文供大家分享。

一、首先创建一个DataFrame。

df = pd.DataFrame({'key1':list('aaabbbaabb'),
				'key2':[1,2,2,1,2,1,1,2,1,2,],
				'data1':np.random.randn(10),
				'data2':np.random.randn(10)})

得到df:

二、group_keys分别在True和False时的影响。

a1 = df.groupby(['key1','key2'],group_keys=True).apply(lambda x:x.iloc[[0,1]]) 
# 匿名函数的作用是选出每组的前两行
a2 = df1.groupby(['key1','key2'],group_keys=False).apply(lambda x:x.iloc[[0,1]])

得到a2
在这里插入图片描述
group_keys=False 可以禁用分组键所形成的索引,不会删去原始对象的索引。

三、as_index分别在True和False时的影响

b1 = df1.groupby(['key1','key2'],as_index=False).apply(lambda x:x.iloc[[0,1]])
b2 = df1.groupby(['key1','key2'],as_index=False).apply(lambda x:x.iloc[[0,1]])

得b2
在这里插入图片描述
ax_index=False 可以禁用分组键作为索引的行为,同时自动给定一个索引。

四、ax_index和group_keys比较

当两者都是False的情况下,相同之处在于:都会禁用分组键。不同之处在于:ax_index在消除分组键的同时会自动生成一个索引。

五、group_keys的特殊情况

当调用聚合函数时,其本身的索引会失效,此时传递group_keys=False无效(与group_keys=True一样)
在这里插入图片描述

 
推荐文章
鼻子大的小狗  ·  VisualStudio的CMake项目中如何设置调试环境以找到调试时所需要的dll文件-CSDN博客
1 年前
大方的滑板  ·  cmip6数据处理:delta方法是每天的数据都进行了降尺度偏差订正,还是月尺度的数据进行了偏差订正? - 知乎
2 年前
快乐的香菜  ·  vue清空数组的几个方式(小结)_vue.js_脚本之家
2 年前
文雅的山楂  ·  Json解析方式汇总 excel vba - choco- - 博客园
2 年前
温文尔雅的罐头  ·  C/C++ 输出整数带正负号_c++输出正数带正号_hambaga的博客-CSDN博客
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号