pandas高级操作

替换

全局替换:replace(to_replace = , value= ,inplace= ),其中to_replace=的后面填上被替换的量,value是替身,inplace表示是否要在原来的数据上进行更改
要是对局部的某个值进行替换,则需要使用对replace{row: column}

映射:主要使用map

其中 apply和map充当运算工具

import pandas as pd
import numpy as np
from pandas import DataFrame
# df = DataFrame(data=(np.random.randint(0,20,size=(8,5))))
# df.replace(1, 'one',inplace=True)
# print(df)
# df.replace(to_replace={3:1},value='one',inplace=True)
# print(df)
dic = {'name': ['张三', '李四', '王二', '张三'], 'salary': [5000, 6000, 7000, 8000]}
df = DataFrame(data=dic)
print(df)
# 映射关系表
dic_name = {'张三': 'Bob', '李四': 'Jerry', '王二':'Tom'}
e_name = df['name'].map(dic_name)
df['e_name'] = e_name
print(df)
# 超过三千块钱需要收税50%,计算每个人的税后工资
# 先判断salary是否大于3000:salary=salary-(salary-3000)*50%
# def after_sal(s):
#     return (s-(s-3000)*0.5)
# after_salary = df['salary'].map(after_sal)
# df['after_salary'] = after_salary
# print(df)
def after_sal(s):
    if s>3000:
        after_sal = s-(s-3000)*0.5
        print(after_sal)
        return after_sal
after_salary = df['salary'].apply(after_sal)
df['after_salary'] = after_salary
print(df)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值