在处理数据的时候,很多时候会遇到批量替换的情况,如果一个一个去修改效率过低,也容易出错。replace()是很好的方法。
1.基本结构:
df.replace(to_replace, value) 前面是需要替换的值,后面是替换后的值。
这样会搜索整个DataFrame, 并将所有符合条件的元素全部替换。
进行上述操作之后,其实原DataFrame是并没有改变的。改变的只是一个复制品。
2. 如果需要改变原数据,需要添加常用参数 inplace=True
这个参数在一般情况没多大用处,但是如果只替换部分区域时,inplace参数就有用了。
在上面这个操作中,‘合计’这一列中的0,并没有被替换。只有‘金额’这一列的0被替换,而且,替换后的结果不需要我们再和原数据进行合并操作,直接体现在原数据中。
3. 用字典形式替换多个值。
这个很好理解哈,{'C':0.999, 'F':0.777},字典里面的键‘C'和'F'就是原值,字典里的值0.999和0.777就是我们想要的新值。也可以用列表形式: df.replace(['C', 'F'], [0.999, 0.777])
如果替换的值都是一样的话就可以写简单点了:
4. 使用正则表达式替换多个
正则表达式很强大,能够让我们实现一次替换很多很多个不同的值。
一次就将五个类似但是不同的值替换掉了,效率高。使用正则表达式的时候记得后面加 regex=True参数。
当需要将缺失值替换掉的时候,我们可以考虑直接只用fillna(),功能更强大。下一篇中将简单总结一下fillna()。
在某些情况下,我只需要某个数据的部分内容,我们该怎么操作呢?
?
??
???
????
?????
??????
???????
??????
???????
搞定收工。