Python3 pandas(19) 替换replace()及部分替换 | pandas replace中文
在处理数据的时候,很多时候会遇到批量替换的情况,如果一个一个去修改效率过低,也容易出错。replace()是很好的方法。1.基本结构:df.replace(to_replace,value)前面是需要替换的值,后面是替换后的值。这样会搜索整个DataFrame,并将所有符合条件的元素全部替换。进行上述操作之后,其实原DataFrame是并没有改变的。改变的只是一个复制品。2.如果需要改变原数据,需要添加常用参数inplace=True这个参数在一般情况没多大用处,但是如果只替换部分区域时,inplace参数就有用了。在上面这个操作中,‘合计’这一列中的0,并没有被替换。只...
在处理数据的时候,很多时候会遇到批量替换的情况,如果一个一个去修改效率过低,也容易出错。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参数。