映射
映射的含义:创建一个映射关系的列表,把values元素和一个特定的标签或者字符串绑定
映射操作:
replace()函数:替换元素(DataFrame\Series的函数)
最重要:map()函数:新建一列(Series的函数)
rename()函数:替换索引(DataFrame函数)
例子:
df = DataFrame({
"name":["lucy","lmery","lucy","tom","jack","lucy"],
"amount":np.random.randint(100,300,size=(6,)),
"times":np.random.randint(1,5,size=(6,)),
"old_name":["lucy", "魏淑芬","lucy","白紫虚","张学友","lucy"]
})
df
替换函数使用
默认全部替换to_replace的值
df.replace(to_replace="lucy", value="张韶涵")
也可以用字典,列表,正则方式去替换内容.
同时也指定替换的列是name列的
df.replace(to_replace = {"name":"lucy"},value = "张韶涵")
df.replace(to_replace=["lucy":"mery"],value = ["LUCY","MERY"])
用value的值对应替换to_replace中的值(全局)
正则:
df.replace(to_replace=r"l.*", value="哈哈", regex=True)
name中有 l 的全部替换
Series替换操作
- 单值替换
- 普通替换
- 字典替换
- 多值替换
- 列表替换
- 字典替换(推荐使用)
Series参数说明:
- method:对指定的值使用相邻的值填充
- limit:设定填充次数
- to_reolace 被替换数据
DataFrame替换操作
- 单值替换
- 普通替换
- 按列指定单值替换{列标签:替换值}
- 多值替换
- 列表替换
- 单字典替换(推荐)
score = DataFrame({
"name":["张三","李四"],
"python":[150,300],
"java":[300,145],
"C":[143,144]
})
score
# 多值替换
score.replace(to_replace=[150,300], value=[0,0])
#单值替换{列标签:替换值}
score.replace(to_replace={150:0,300:0})
#列表替换
score["python"].replace(to_replace=[150,300], value=[0,0], inplace=True)