点开,看一段,你就会喜欢上学习pandas,你该这么学!No.3
身为一个啰嗦的博主,还是要说点啥,如果你不想学,直接拖拽到最后,发现彩蛋,然后3秒
我呢,有个小目标,就是把技术类的文章,写的有趣
编程呢,最难的是什么?
我投票给入门
其实,把一个人带进编程的大门是最难的
而梦想橡皮擦这位大佬,就在做这个事情
(说白了,就是高深的文章写不出来,还要装做大佬,心好累,好不容易找到这么一个借口,真开心)
我要通过一个系列的pandas文章
让你学会这一个简简单单的模块
然后还能顺便写点好玩的东东
美哉~
每篇文章,让你阅读起来如丝般顺滑
继续pandas,series函数的学习
上篇博客,咱们就稍微了解了一丢丢series的函数
远远不够的
这篇呢,我们继续
心里默念
pandas是处理数据的,是处理数的,数字的
OK,GET到这个就好多了
后面我就好编了
import pandas as pd
s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
print(s)
我创建了一个基本的Series,然后要对它进行处理了
对一个线性的数据来说
我们可以干很多事情
比如,我要获取最大最小值
import pandas as pd
s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
print(s.min())
print(s.max())
这个写法还是太简单了,显示不出来我们学到东西了
咱弄点新鲜的(其实就是官网比较复杂的例子)
先给series创建一个带有层次的索引
带有层次的索引,啥意思?
其实就是excel里面的合并单元格
看代码
idx = pd.MultiIndex.from_arrays([
['warm', 'warm', 'cold', 'cold'],
['dog', 'falcon', 'fish', 'spider']]
,names=['blooded', 'animal'])
s = pd.Series([4, 2, 0, 8], name='legs', index=idx)
print(s)
一个关于冷血动物和温血动物关于有多少足的表格
唉,好长一段文字,输出长这个样子
看不明白,没关系,放到excel里面瞅瞅
咋么样,小版一排,清晰明了
就一个表格
当前前面依旧是index
真正的数据就后面那一列
然后,操作一番
idx = pd.MultiIndex.from_arrays([
['warm', 'warm','warm', 'cold', 'cold'],
['dog', 'falcon','people', 'fish', 'spider']]
,names=['blooded', 'animal'])
s = pd.Series([4, 2,2, 0, 8], name='legs', index=idx)
print(s)
print(s.min())
print(s.max(level='blooded'))
后面的level就是控制多索引的哦~
看到结果,你可以秒懂吗?
s = pd.Series([4, 2,2, 0, 8], name='legs', index=idx)
print(s)
print(s.min()) # 输出0
print(s.max(level='blooded')) # 输出 下面的表格
没错,我是下面的表格
学会了吧,这个学会了,min,max,sum,idxmin,idxmax你应该都会了
什么idx是啥?看看上面的代码
那个是索引... ...
还要啰嗦一个属性
对于series来说,还有一个属性非常,非常重要,重要到使用之后,没啥效果?
这个属性就是T
没错,一个大写的字母T
哈哈哈,其实这个属性对于series来说,基本没啥用
使用之后还是等于自己本身
s = pd.Series([3,1,4],index=['a','b','c'])
print(s)
print(s.T)
继续看函数
好像跑偏了,怎么看到属性去了
继续看函数啊
一个线性杂乱的数据,对于我们来说
还可以排序啊
import pandas as pd
s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
既然排序了,你一猜,就能猜到(其实一般人根本猜不到,也就老师觉得你能猜到)
一个是按照值排序,一个是按照索引排序
import pandas as pd
s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
print(s.sort_values())
print(s.sort_index())
排序的一些参数,可以屡屡
Series.sort_values(axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')
- axis 按照哪个参考轴排序. 对于 Series来说,只能设置为0
- ascending 倒序还是正序 True升序
- inplace 默认false,修改为true,原地修改?咦,不明白吧,一会我给你举个栗子
- kind 排序方法 快速排序,归并排序,堆排序
- na_position 空值,在前还是在后,这个,你试一下就知道了
inplace
看一下下面的代码,原地替换
s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
sorted_s = s.sort_values(inplace=True)
print(sorted_s)
这时候打印出来的是None,但是你打印s,就能出现排序之后的文字
明白了没?
就是把s变量直接给排序了
排序搞定之后,就要尝试获取series中的部分内容
获取头部几条
头部头部head
获取末尾几条
tail,tail
import pandas as pd
s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
print(s.head(2))
print(s.tail(2))
获取部分数据可以,那么肯定也可以删除数据喽
(我顺口说的)
Series.drop
import pandas as pd
s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
print(s.drop(labels=[0,1]))
对于series来说,labels参数是必备的
为什么呢?因为其它的压根不支持
新版本的可以用index替换labels
好了,又学到新知识点了吧
不多不少,几个正好
每日学一点吧,啊
明天写点啥,可能是DataFrame吧
最后,欢迎关注一个唠叨的编程工程师的公号,非本科程序员
掏出你的手机,拍这个
点开,看一段,你就会喜欢上学习pandas,你该这么学!No.3的更多相关文章
- 如果你说最近在看《诛仙》,平时喜欢玩LOL,你就是在把自己往悬崖上推
面试官可能会问你一些和技术看上去没有任何关系的问题,比如问你最近在看什么书,学习之余喜欢做什么,常去哪些网站之类的.如果你说最近在看<诛仙>,平时喜欢玩LOL,你就是在把自己往悬崖上推.实 ...
- 如何看一段JAVA代码耗了多少内存
简单的方法,如下: Runtime r = Runtime.getRuntime(); r.gc(); long startMem = r.freememory(); // 开始时的剩余内存 你 ...
- 看一段Delphi导出到Word的源代码
procedure TFrmWeekAnalysisQry.BtnExportToExcelClick(Sender: TObject);var wordApp,WordDoc,WrdSelectio ...
- 看完这些,你就算得上既了解围棋又了解alphago了
首先,我们要祝贺小李下出第78手的“神之一手”,这一手堪称前无古人后无来者,尤其是结合了阿尔法狗自暴自弃的表现.小李说过他的失败并不是人类的失败,同样,小李的胜利也只是属于他一人的胜利. 然而人类在围 ...
- 一篇自己都看不懂的点分治&点分树学习笔记
淀粉质点分治可真是个好东西 Part A.点分治 众所周知,树上分治算法有$3$种:点分治.边分治.链分治(最后一个似乎就是树链剖分),它们名字的不同是由于分治方式的不同的.点分治,顾名思义,每一次选 ...
- Maven系列第6篇:生命周期和插件详解,此篇看过之后在maven的理解上可以超越同级别90%的人!
maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能. 这是maven系列第6篇. 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部 ...
- 《明解c语言》已看完,练习代码此奉上
2016年9月20日至2016年11月12日,从学校图书馆借来的<明解c语言>看完了. 大三第一个学期,前8周,有c语言程序设计的课.课本是学校里的老师编写出版的,为了压缩空间,减少页面, ...
- 《java编程思想》读书笔记 暂停一段时间,改为上面的练习题
发现个很尴尬的现象.我一天实在看得太快了...全写下 写博客都得一晚上.. 之前因为是第一次看这么厚的书,别人都说很难,以为会看很慢的.然而,已经完全学过Java的 我感觉没啥压力,越看越快....第 ...
- ScrollView嵌套ListView的滑动冲突问题,是看大神的方法的,作为学习以后用的到
在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全.我试过很多种方法,它们各有利弊. 在这里我将会从使用ScrollView嵌套ListView结 ...
随机推荐
- C# 后台按键 视频播放器 全屏后无法 触发
第一种 (全屏不可触发) protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Win ...
- html table内容不随标题滚动
<html><head></head><body> <div> <div id="demo" style=&quo ...
- 原生js实现瀑布流效果
参考此篇:https://segmentfault.com/a/1190000012621936 以下为个人测试中: css: .masonry{ width:100%; } .item{ posit ...
- What is the difference between rhel 6 and rhel7
What is the difference between rhel 6 and rhel7 difference rhel 6 RHEL 7 release date 10 NOV 2010 as ...
- [C++] 配平化学方程式算法的封装
有人已经实现了配平的方法,在此不再重复介绍. https://www.cnblogs.com/Elfish/p/7631603.html 但是,上述的方法所提供的代码还是存在着问题,需要进一步修改. ...
- 最小生成树算法Kruskal详解
要讲Kruskal,我们先来看下面一组样例. 4 5 1 2 3 1 4 5 2 4 7 2 3 6 3 4 8 14 画出来更直观一些,就是上面的这张图. 智商只要不是0的(了解最小生成树是什么的童 ...
- [Luogu] P4198 楼房重建
题目描述 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经常无聊地看着窗外发呆,数自己能够看到多少栋房子. 为了简化问题,我们考虑这些事件发生在一个 ...
- 18/10/19 周五欢乐赛题解(c++版)
注意本题解并没有去追求最优解,只是用比较暴力的方法求解.D题听说要改说明不是位数30位,目前除了D题可能有问题之外其他代码已经全部正确. A.查找字串 用string BF(暴力求解即可) 代码 #i ...
- 找零钱的算法实现(Java)
简单的算法 基本思路就是将面值从大到小统计(外循环), 若当前金额大于某面值, 则当前金额减掉该面值, 并将面值对应张数+1, 继续往下判断(内循环) public void Change(int m ...
- 洛谷 1003 NOIP2011 D1T1 铺地毯
[题解] 因为只询问一个点,所以记录地毯信息,倒着找第一个符合条件的地毯就是在最上面的. #include<cstdio> #include<algorithm> #defin ...