前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >点开,看一段,你就会喜欢上学习pandas,你该这么学!No.3

点开,看一段,你就会喜欢上学习pandas,你该这么学!No.3

作者头像
梦想橡皮擦
发布2019-06-03 19:10:52
5200
发布2019-06-03 19:10:52
举报

其实,把一个人带进编程的大门是最难的

而梦想橡皮擦这位大佬,就在做这个事情 (说白了,就是高深的文章写不出来,还要装做大佬,心好累,好不容易找到这么一个借口,真开心)

在这里插入图片描述
在这里插入图片描述

我要通过一个系列的pandas文章

让你学会这一个简简单单的模块

然后还能顺便写点好玩的东东

美哉~

每篇文章,让你阅读起来如丝般顺滑

在这里插入图片描述
在这里插入图片描述

继续pandas,series函数的学习

上篇博客,咱们就稍微了解了一丢丢series的函数

远远不够的 这篇呢,我们继续

心里默念

pandas是处理数据的,是处理数的,数字的

OK,GET到这个就好多了

后面我就好编了

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
import pandas as pd
s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
print(s)

我创建了一个基本的Series,然后要对它进行处理了

对一个线性的数据来说

我们可以干很多事情

比如,我要获取最大最小值

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
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里面的合并单元格 看代码

代码语言:javascript
复制
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 真正的数据就后面那一列

然后,操作一番

代码语言:javascript
复制
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就是控制多索引的哦~

看到结果,你可以秒懂吗?

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
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来说,基本没啥用

在这里插入图片描述
在这里插入图片描述

使用之后还是等于自己本身

代码语言:javascript
复制
s = pd.Series([3,1,4],index=['a','b','c'])
print(s)
print(s.T)

继续看函数

好像跑偏了,怎么看到属性去了

继续看函数啊

一个线性杂乱的数据,对于我们来说 还可以排序啊

代码语言:javascript
复制
import pandas as pd

s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])

既然排序了,你一猜,就能猜到(其实一般人根本猜不到,也就老师觉得你能猜到)

在这里插入图片描述
在这里插入图片描述

一个是按照值排序,一个是按照索引排序

代码语言:javascript
复制
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())

排序的一些参数,可以屡屡

代码语言:javascript
复制
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

看一下下面的代码,原地替换

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
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吧

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 继续pandas,series函数的学习
  • 还要啰嗦一个属性
  • 继续看函数
  • 排序搞定之后,就要尝试获取series中的部分内容
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档