Python中如何将DataFrame内的空格值替换为null值?
解决方案
已验证可行的代码:
import numpy as np df = df.replace(r'^\s*$', np.nan, regex=True)
问题场景
处理Python中文本文件转DataFrame的需求:原文件每行字符数固定但仅含一列,需通过字符串切片拆分出多列,示例代码如下:
df['column1'] = df['data'].str[0:2] df['column2'] = df['data'].str[5:14]
拆分后部分本该为null的单元格,实际是单个或多个空格,需要将这些空格替换为NaN。
无效尝试
曾尝试以下方法,但均未达到预期效果:
df=df.replace(' ', "Null") df=df.replace(' ', None) df=df.replace('', None) df=df.replace(r'\s*', None, regex=True)
以上方法无法替换全为空格的单元格,带前置空格的数值(如' 1')以及应空单元格的空格也未得到处理。
数据说明
数据中看似空白的单元格实际包含1个或多个空格,示例截图:
内容的提问来源于stack exchange,提问作者eades
相关产品推荐
相关产品推荐

