内容简介:这篇博客,我们继续围绕着dataframe转圈圈吧首先从计算函数说起咱先声明一个dataframe,方便后续操作
这篇博客,我们继续围绕着dataframe转圈圈吧
首先从计算函数说起
咱先声明一个dataframe,方便后续操作
import pandas as pd df_dict = { "boys":[10,20,30], "girls":[20,40,60] } df = pd.DataFrame(df_dict) print(df) 复制代码
对于一个高手来说,从上帝视角对数据有一个基本的把握是最重要的
那么我们需要一个函数
describe
你只需要使用一下,就能得到很多的信息哦~
来,看一下结果
boys girls count 3.0 3.0 mean 20.0 40.0 std 10.0 20.0 min 10.0 20.0 25% 15.0 30.0 50% 20.0 40.0 75% 25.0 50.0 max 30.0 60.0 复制代码
这不要啥有啥么
只要你英文没啥大问题,认识count,mean,std,min,max
恭喜你,上面的数据 你都能看懂
这上帝视角
数据一览无余
接下来,你就可以分开显示了
pandas神奇的地方即将出现
当你学会一个函数 同步你会学会好几个
我拿count举个栗子啊 为什么,拿着个举例子
还不是因为它最简单!
先看代码,在讲解
import pandas as pd df_dict = { "boys":[10,20,30], "girls":[20,40,60] } df = pd.DataFrame(df_dict) print(df.count(axis=0)) 复制代码
输出的结果,请注意
boys 3 girls 3 dtype: int64 复制代码
是个 series
没错了
那么,重点来了,我这个伪大佬要开课了
df.count()
函数,统计cells个数, 额,还是大白话吧
就是统计行或者列的小格子个数
嗯,这么说,容易懂
它有个参数,非常,非常,非常重要
以后会经常碰到
这个参数,就是axis,翻译成中文,叫做轴
没错,就是坐标轴的那个轴
默认值呢是0
0等于index 1等于columns
难度来了,这个地方不好记(因为,我总是搞错 Σ(っ°Д°;)っ)
在尝试大白话解释一下 df.count(axis=0)
的意思
统计每一列单元格(小格子)数量
咦?不太对啊
刚刚不是还说0等于index么?
那 df.count(axis=0)
,不应该统计行么?咋还统计成列了呢?
解释最后一次了哦
axis=0 这个参数表示 为每列生成计数
上面的红框,叫做每列
所以,列名有几个,统计出来的结果就有几个
这个很容易晕哦~
我觉得你应该晕了
哎~慢慢绕吧
同理axis=1就表示 为每行生成计数
啦
刚刚的数据有三行,那对应的肯定生成三行喽
小提示
axis='index' 等于 axis = 0 axis = 'columns' 等于 axis = 1 复制代码
为什么要在这个地方叨叨这么多呢
还不是因为下面这个图
看完这个图,之后
我相信,你应该对axis这个函数瞬间感兴趣了
这完全搞不定,没法用的节奏啊
难不成,每次都跟我一样
先猜0,不对,在换成1
哈哈哈哈哈哈哈哈哈 (好像暴露了,我菜的本质了呢)
df.count()学习完毕之后,来个df.min(),df.max(),df.mean()吧
哈哈,这三个函数咱看一下,其实非常简单的
import pandas as pd df_dict = { "boys":[10,20,30], "girls":[20,40,60] } df = pd.DataFrame(df_dict,index=['class1','class2','class3']) print(df.mean(axis=1)) 复制代码
- df.min() 最小值
- df.max() 最大值
- df.mean() 平均值
上面是获取值
记住,有值就有索引
然后再展示一段代码
需求,我们要获取每列中最小值的索引
import pandas as pd df_dict = { "boys":[10,20,30], "girls":[20,40,60] } df = pd.DataFrame(df_dict,index=['class1','class2','class3']) print(df.mean(axis=1)) print(df.idxmin()) 复制代码
- df.idxmin() 按照列获取
- df.idxmin(axis=1) 按照行获取
电脑面前的你,赶紧的吧,
你一试就知道结果了
还等什么?
其他的,像方差,求和,标准差,都去试试吧
你可以滴!
T
来了
在学习series的时候,我们用了一个s.T 神奇的是啥效果也没有
今天用dataframe在来试一下
import pandas as pd df_dict = { "boys":[10,20,30], "girls":[20,40,60] } df = pd.DataFrame(df_dict,index=['class1','class2','class3']) print(df) print("x"*50) print(df.T) 复制代码
看到没? 出现效果了
行索引,变成列索引 列索引,变成行索引
厉害,厉害
其实这个就是转置
线性代数上线啦
下课!
话不多说,结束,开始展示公众号
还等什么,关注吧~
以上所述就是小编给大家介绍的《对不起,给pandas配表情包太难了,pandas你该这么学,No.6》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 对不起,这些前端精选资源,我真的打包带走了
- 对不起,我的代码评审毁了一个程序员!
- 对不起,我来晚了,为什么要学习OAuth 2.0?
- 对不起,我来晚了!Layx v2.1.0 稳定版发布
- 对不起 Linux,Kubernetes现在是更重要的操作系统!
- 对不起,我们来晚了:基于 React 的组件库 Zarm 2.0 发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java程序设计与应用开发
於东军 / 清华大学出版社 / 2005-3 / 27.00元
本书作为Java程序的入门与应用教材,共分为3部分:第一部分讲解Java程序设计的基础知识,包括Java基本编程语言、面向对象设计思想、类、对象、接口以及异常处理。第二部分讲解Java程序设计的高级知识,包括:GUI编程、套接口编程、I/O系统、数据库访问以及多线程编程。第三部分详细分析一个实际项目的开发过程,包括系统分析及功能实现。在项目实例中综合应用第一、二部分的Java知识,能够帮助读者进一......一起来看看 《Java程序设计与应用开发》 这本书的介绍吧!