我有一个熊猫数据帧(通过导入一个csv文件创建)。我想用NaN替换空白值。其中一些空值是空的,一些包含(变量)空格''' '' '等。
使用this thread的建议

df.replace(r'\s+', np.nan, regex=True, inplace = True)

它会替换所有只包含空格的字符串,但也会替换其中包含空格的每个字符串,这不是我想要的。
如何仅用空格和空字符串替换字符串?

最佳答案

如果您正在读取一个csv文件,并且希望在读取文件本身时将所有空字符串转换为nan,则可以使用该选项

skipinitialspace=True

示例代码
pd.read_csv('Sample.csv', skipinitialspace=True)

这将删除分隔符后出现的任何空白,从而使所有空字符串都成为nan
来自文档http://pandas.pydata.org/pandas-docs/stable/io.html
python - 在Pandas中用NaN替换空字符串-LMLPHP
注意:此选项将从有效数据中删除前面的空白,如果出于任何原因要保留前面的空白,则此选项不是一个好的选择。

关于python - 在Pandas中用NaN替换空字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40711900/

10-12 17:01
查看更多