使用apply(str)将int转str时生成大量 ,如何在转换中自动去除?
解决方法
用lambda函数在转换时同步清理换行符:
X_train['YrSold'] = X_train['YrSold'].apply(lambda x: str(x).strip())strip()会自动移除字符串首尾的换行符、空格、制表符等空白字符,一步完成转换和清理,无需后续正则处理。若仅需移除换行符,可针对性替换:
X_train['YrSold'] = X_train['YrSold'].apply(lambda x: str(x).replace('\n', ''))大数据集推荐用更高效的批量处理方式:
X_train['YrSold'] = X_train['YrSold'].astype(str).str.strip()先通过
astype(str)批量转字符串类型,再调用pandas内置的str.strip()做统一清理,性能比apply更优。
内容的提问来源于stack exchange,提问作者Katsu
相关产品推荐
相关产品推荐

