如何用Python和Pandas遍历指定列并修改字符串值?
解决方案
不用手动遍历行,Pandas提供了更高效的向量化字符串操作,直接用str方法就能批量处理整列:
处理单列
以prediction1列为例,一行代码就能完成下划线替换+转小写:
image_predictions['prediction1'] = image_predictions['prediction1'].str.replace('_', ' ').str.lower()
批量处理多列
如果要同时处理prediction1和prediction2,可以循环列名批量操作:
# 指定要处理的列 target_cols = ['prediction1', 'prediction2'] for col in target_cols: image_predictions[col] = image_predictions[col].str.replace('_', ' ').str.lower()
你原来代码的问题
- 遍历行的操作完全没必要,Pandas的
str方法会自动对列中每个元素执行操作,比循环高效得多 - 直接用
replace('_', ' ')是对整个列的Series对象执行替换,默认是匹配整个字符串替换,不是替换每个下划线——必须用str.replace才是对每个元素的字符串进行逐字符替换
内容的提问来源于stack exchange,提问作者Wildo_Baggins311
相关产品推荐
相关产品推荐

