pandas数据处理之groupby的常用用法_pandas怎么处理groupby的结果-程序员宅基地

技术标签: pandas  Python数据分析处理  数据处理  

groupby的数据处理简单用法

groupby(by=None, axis=0, level=None,
             as_index=True, sort=True, 
            group_keys=True, squeeze=False, **kwargs)
1、by:mapping, function, str, or iterable。

用于确定groupby的组。如果by是一个函数,那么会调用对象索引的每个值。
如果传递了一个dict或Series,则将使用Series或dict的值来确定组。
一个str或者一个strs列表可以通过自己的列传递给group。

2、axis:轴,int值,默认为0

3、level:如果axis是一个MultiIndex(分层),则按特定的级别分组。int值,默认为None

4、as_index:对于聚合输出,返回带有组标签的对象作为索引。as_index=False实际上是“SQL风格”分组输出,boolean值,默认为True。

5、sort:排序。关闭此功能以获得更好的性能。boolean值,默认True。

6、group_keys:当调用apply时,添加group key来索引来识别片断。boolean值,默认True。

7、squeeze:尽可能减少返回类型的维度,否则返回一致的类型。boolean值,默认False。

1.按照指定列进行分类

g = data_train.groupby(['SibSp','Survived']) ##将sibsp与survived列作为分类依据
df = pd.DataFrame(g.count()['PassengerId']) ##分类依据后,PassengerId作为特征属性量
print(df)

  

也可以用这个,.fare指的是经过前面两个分组之后,fare作为特征属性展示

#票价与pclass和Embarked有关,所以用train分组后的平均数填充
train.groupby(by=["Pclass","Embarked"]).Fare.mean()

2.抽取指定列来进行统计分类

##进一步观察数据与结果的关系,利用相关性分析
pclass_relate=train.groupby(['Pclass'])['Pclass','Survived'].mean() ##分类准则是pclass
# print(group_relate)
train[['Pclass','Survived']].groupby(['Pclass']).mean().plot(kind='bar') ##等效于data.plot.bar(),柱状图

 

3.还遇到过利用分组进行排序

train_df[['Pclass', 'Survived']].groupby(['Pclass'], as_index=False).mean().sort_values(by='Survived', ascending=False)

4.利用groupby来新增或者改变列

u3['u_buy_with_coupon']=1
u3=u3.groupby(['User_id'],as_index=False).count()
utmp = fdf[(fdf['Date'].notnull()) & (fdf['Date_received'].notnull())][['User_id', 'distance']]
utmp.replace(-1, np.nan, inplace = True)
u5 = utmp.groupby(['User_id'], as_index=False).min()
u5.rename(columns={'distance': 'u_min_distance'}, inplace=True)

 

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

智能推荐

PSO求解二维路径规划的步骤如下_java实现pso路径规划-程序员宅基地

文章浏览阅读494次。STEP1:创建二维环境STEP2:初始化参数STEP3:初始化粒子群中各个粒子的位置和速度STEP4:主循环,迭代MaxIt次,每次循环更新nPop个粒子的速度和位置,以更新某一个粒子的速度和位置为例STEP4.1:更新当前粒子的..._java实现pso路径规划

java计算机毕业设计师生教学评价系统源代码+数据库+系统+lw文档_教师评价系统代码源-程序员宅基地

文章浏览阅读377次。springboot基于SpringBoot的婚庆策划系统的设计与实现。springboot基于SpingBoot的剧本杀管理系统。springboot基于SpringBoot智能家电商城。JSP鸡厂养殖管理系统的设计与实现sqlserver。JSP客户关系管理系统的设计与实现sqlserver。JSP网上视频点播系统的设计与实现mysql。基于Java技术的社区物业管理的设计与实现。springboot点餐系统的设计与实现。ssm基于OO的生鲜果蔬电商的设计与实现。_教师评价系统代码源

10分钟看懂Docker和K8S-程序员宅基地

文章浏览阅读41次。就在Docker容器技术被炒得热火朝天之时,大家发现,如果想要将Docker应用于具体的业务实现,是存在困难的——编排、管理和调度等各个方面,都不容易。但是,如果你仔细洞察这些变化,会发现,所谓的核心网,其实本质上并没有发生改变,无非就是很多的服务器而已。变化的,是这些“服务器”的形态和接口:形态,从机柜单板,变成机柜刀片,从机柜刀片,变成X86通用刀片服务器;接口,从中继线缆,变成网线,从网线,变成光纤。还能够在不停机的情况下,随意变大,随意变小,随意变强,随意变弱,在性能和功耗之间动态平衡。

HTML5期末大作业:美食网站设计——食品网(6页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 大学生毕设网页设计源码HTML_设计美食网站-程序员宅基地

文章浏览阅读1.8k次。HTML5期末大作业:美食网站设计——食品网(6页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 大学生毕设网页设计源码HTML1.临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手? 网页要求的总数量太多?2.没有合适的模板?等等一系列问题。你想要解决的问题,在这篇博文中基本都能满足你的需求~3.原始HTML+CSS+JS页面设计, web大学生网页设计作业源码,这是一个不错的网页制作,画面精明,_设计美食网站

对计算机pep介绍正确的是,2018级计算机科学技术导论-程序员宅基地

文章浏览阅读331次。跳至...新闻发布区最新通知课程APP(安卓端)资源导航教学大纲教学日历中文参考教材课程内容分布主讲教师简介参考书目与学习网站Tell me about your expectations for the course.学习目标计算机科学导论KeywordsChapter 1 The Big Picture PPT1.Grouping your group then make a discussi..._photograph compression for web usage or email

2020年面向iOS开发的知识点总结(持续更新中)_ios2020年度总结-程序员宅基地

文章浏览阅读334次。前言:最近在整理自己的技术栈,收集了一些自己认为比较重要的知识点分享给大家。Runloop1.iOS中触摸事件传递和响应原理2.为什么只有主线程的runloop是开启的3.为什么只在主线程刷新UI4.PerformSelector和runloop的关系5.GCD 在Runloop中的使用?6.AFNetworking 中如何运用 Runloop?Runtime1.Category 的实现原理?2.isa指针的理解,对象的isa指针指向哪里?isa指针有哪两种类型?3.Objectiv_ios2020年度总结

随便推点

5个python数据可视化工具,赶快收藏起来!_python数据可视化库-程序员宅基地

文章浏览阅读1.9k次。5个python数据可视化工具,赶快收藏起来!_python数据可视化库

antd protable 的一些配置记录_protable scroll-程序员宅基地

文章浏览阅读1.1k次。antd protable_protable scroll

清理node缓存,卸载angular以及强制删除angular的方法_彻底删除angular-程序员宅基地

文章浏览阅读8k次,点赞3次,收藏9次。卸载angular的两种方案_彻底删除angular

ios 设备型号_device version 10,1-程序员宅基地

文章浏览阅读1.2w次。1234567891011//可通过苹果review+ (NSString*)getDeviceVersion{ size_t size; sysctlbyname("hw.machine",NULL, &size, NULL, 0); char*machine = (char*)malloc(siz_device version 10,1

html标签使用时特别注意,JavaScript怎么修改HTML标签属性-程序员宅基地

文章浏览阅读866次。javascript修改属性的方法:首先使用getElementById()、getElementsByName()或getElementsByTagName()获取到DOM对象;然后使用“DOM对象.属性名=值;”来修改属性即可。本教程操作环境:windows7系统、ECMAScript 5版、Dell G3电脑。HTML DOM 对象从 JavaScript 的观点来看,网页上的每个 HTML..._修改标签属性

bat定时执行php,Linux_用bat实现定时执行任务的批处理文件,@echo off set txt1=%date:~0,4% ::当前 - phpStudy...-程序员宅基地

文章浏览阅读167次。用bat实现定时执行任务的批处理文件@echo offset txt1=%date:~0,4%::当前年set txt2=%date:~5,2%::当前月set txt3=%date:~8,2%::当前日set txt4=%time:~0,2%::当前小时set txt5=%time:~3,2%::当前分钟set txt6=%time:~6,2%::当前秒set date=%txt1%%txt2%..._定时任务的bat 文件能用echo 吗?