Pandas高级操作

本文介绍了Pandas的高级操作,包括替换操作、映射操作、排序抽样、数据分割和聚合。重点讲解了映射的概念,通过案例展示了如何计算税后薪资。此外,还涵盖了数据的排序、随机抽样、分组聚合以及透视表和交叉表的使用,帮助提升数据分析效率。
摘要由CSDN通过智能技术生成

引入包

import numpy as np
import pandas as pd
from pandas import DataFrame

一、替换操作

  • 替换操作可以同步作用于Series和DataFrame中
    单值替换
    普通替换:替换所有符合要求的原色:to_replace = 15, value =‘e’
    按列指定单值替换: to_replace ={列标签: 替换值}value =‘value’
    多值替换
  • 列表替换:to_replace =[] value = []
  • 字典替换(推荐)⭐ to_replace = {to_replace:value, to_replace:value}
df = DataFrame(data = np.random.randint(0,100,size=(5,6)))
df

在这里插入图片描述

  • 单值替换

将数据中8替换成eight

df.replace(to_replace=8,value='eight')

在这里插入图片描述

  • 多值替换

使用字典复制给to_replace

df.replace(to_replace={
   0:'zero',1:'one'})

在这里插入图片描述

  • 指定列的替换
    在这里插入图片描述

替换第2列中的31为指定内容

df.replace(to_replace={
   2:31},value=333111)

在这里插入图片描述

若没有指定列

df.replace(to_replace=31,value=333111)

在这里插入图片描述


二、映射操作⭐

  • 概念: 创建一个映射关系表,把values元素和一个特定的标签或者字符串绑定(给以元素值提供不同的表现形式)
  • 创建一个df,两列分别是姓名和薪资,然后给其名字起对应的英文名
dic = {
   
    'name':['张三','李四','张三'],
    'salary':[15000,20000,15000]
}
df = DataFrame(data = dic)
df

在这里插入图片描述

map只是Series的方法,只能被Series调用

#映射关系表:制定了映射的对照关系
dic = {
   
    '张三':'tom',
    '李四':'jerry'
}

df['e_name'] = df['name'].map(dic)
df

在这里插入图片描述

小案例-计算税后薪资

  • 超过3000部分的钱缴纳50%的税,计算每个人的税后薪资
def after_sal(s):
    return s - (s-3000)*0.5

df['after_sal'] = df['salary'].map(after_sal)
df

在这里插入图片描述

DataFrame 中apply操作

  • apply :将函数作用到行或者列
  • applymap :将某种元素作用到每一个元素
df = DataFrame(data = np.random.randint(0,10,size=(5,3)))
df

在这里插入图片描述

  • apply
  • 与axis参数一起使用
  • df中有几行/几列 func函数就会执行几次
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胜天半月子

打不打商的无所谓,能帮到你就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值