一、Map:映射
不管是利用字典还是函数进行映射,都是把对应的数据逐个当作参数传入到字典或函数中,得到映射后的值。
import pandas as pd
path = r'F:\Pycharm_projects\Numpy_Pandas_study\数据.xlsx'
data = pd.read_excel(path,engine='openpyxl')
#方法1:使用字典进行映射
data['性别'] = data['性别'].map({'男':'先生','女':'女士'})
#方法2:使用函数
def substitute(x):
call = '先生' if x == '男' else '女士'
return call
data['性别'] = data['性别'].map(substitute)
print(data)
二、Apply
apply与map区别:能够传入功能更为复杂的函数.
1 Series数据处理
import pandas as pd
path = r'F:\Pycharm_projects\Numpy_Pandas_study\数据.xlsx'
data = pd.read_excel(path,engine='openpyxl')
print(data)
def change_score(x,str):
return x+str
# 以元组的方式传入额外的参数
data['语文'] = data['语文'].apply(change_score,args=(10,)) # (10,)表示一个参数
print(data)
2 DataFrame数据处理
import pandas as pd
path = r'F:\Pycharm_projects\Numpy_Pandas_study\数据.xlsx'
data = pd.read_excel(path,engine='openpyxl')
def BIM(data):
height = data['身高']
weight = data['体重']
BIM = weight/height**2
return BIM
data['BIM'] = data.apply(BIM,axis=1)
print(data)
三、Applymap
对DataFrame中的每个单元格执行指定函数的操作。
import pandas as pd
path = r'F:\Pycharm_projects\Numpy_Pandas_study\数据2.xlsx'
data = pd.read_excel(path,engine='openpyxl')
print(data)
data2 = data.applymap(lambda x:"%.3f" % x)
print(data2)