map()只作用于Series,如果数据没有对应替换值,则返回空值(NaN)
一、前言
设备:Macbook Air M1 2020
环境:Anaconda-->Jupyter Notebook
二、代码框架
## 伪代码
df['列名'].map({'原始值':'替换值',
'原始值':'替换值',
......
'原始值':'替换值'})
三、代码说明
下面是对伪代码的解释说明
# 将DataFrame转换成Series,即提取DataFrame中的一列 df['列名']
四、举个栗子
1.栗子:
df新增Species_encoding列,其中1,2,3分别对应Species列的Iris-setosa,Iris-versicolor,Iris-virginica
2.解答:
In[1]:
# 导入pandas库,numpy库
import pandas as pd
import numpy as np
# 读取csv,其中./表示当前目录
df = pd.read_csv('./Iris.csv')
# 查看df
df
Out[1]:
In[2]:
# df新增Species_encoding列
# 其中1,2,3分别对应Species列的Iris-setosa,Iris-versicolor,Iris-virginica
df['Species_encoding'] = df.Species.map({'Iris-setosa':1,
'Iris-versicolor':2,
'Iris-virginica':3})
# 查看df
df
Out[2]:



