pandas的高级操作

今天说的是pandas的高级操作,包括替换操作,映射操作,随机抽样和分类处理。

替换操作

替换操作可以同步作用于Series和DataFrame中
单值替换:

	普通替换: 替换所有符合要求的元素:to_replace=15,value='e'
	按列指定单值替换: to_replace={列标签:替换值} value='value'

多值替换:

	列表替换: to_replace=[] value=[]
	字典替换(推荐) to_replace={to_replace:value,to_replace:value}

首先老样子引入三大库
在这里插入图片描述
单值替换我们就可以直接在to-replace后指定你想替换的值和想替换为的值。
这是原本的DataFame:
在这里插入图片描述
我们把8替换为eight,只需要写下如下代码:
在这里插入图片描述
我们也可以在to-replace后加上字典达到多值替换:
在这里插入图片描述
但这样子会有一个问题那就是比如上图的11,就全部被替换了,所以我们如果想要更精确可以指定某列进行替换:
在这里插入图片描述
这里0:89指的是隐式索引0所指定的列中的89,可以看见只有那个89被替换了。
那可能就想问了,那这样我如果还想再换掉别的值我能一串代码写完吗,那是可以的。
在这里插入图片描述
以如图所示的代码进行操作,就可以达到我替换了两个值的效果。

映射操作
概念:创建一个映射关系列表,把values元素和一个特定的标签或者字符串绑定(给一个元素值提供不同的表现形式)

map是数据Series的方法,只可以被Series调用

我们创建一个df,两列分别是姓名和薪资,然后给其名字起对应的英文名
在这里插入图片描述
然后我们写一个字典来表述每个人的映射关系,之后将这个字典直接放入map就可以了:
在这里插入图片描述
注意,map是Series的方法,只能被Series调用。

我们来看看映射的实际运用:
在这里插入图片描述
可以发现,map里不只是字典,函数也是可以放进去的,不管是匿名函数还是普通的函数都是可以的。

随机抽样

排序实现的随机抽样(抽样取出来的数字行列索引保持不变)
主要使用这两个代码:

	take()
	np.random.permutation()

先创造一个DataFrame
在这里插入图片描述

我想把三列数据打乱,则可以用take()
在这里插入图片描述
indices里就是你想要的顺序,注意这里必须使用隐式索引,显示索引是没有用的。

而permutation的作用则是可以创造出数个随机的索引。
在这里插入图片描述
而我们将permutation放入indices就会让DataFrame随机排布
这里则是把列和行全部随机排列
在这里插入图片描述
随机抽样也就完成了。

分类处理

先创造一个关于水果的列表
在这里插入图片描述
这里分组则需要使用groupby()。
在这里插入图片描述
by后面则是指定要根据什么进行分组,.groups则是进行查看。
比如说我想得到苹果,香蕉和橙子的平均值,我们有两种方法。
在这里插入图片描述
不推荐下面那个方法的原因则是下面的是先对所有数据进行运算再提取,上面则是提取出想要的那列数据再计算,上面的更加节省算力。

之后我们将均价变为字典再放入map中,可以运用映射将均价也放入DataFrame中。
在这里插入图片描述
我们也可以根据颜色分类然后求平均重量:
在这里插入图片描述
这都非常灵活看实际运用
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值