替换
全局替换: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)