我试图用np.nan替换空字符串
但我在细胞中得到了无,那有什么不对?
谢谢
df.replace('', np.nan)
最佳答案 您的数据一定存在问题,而熊猫则不然.见下面的例子:
>>> data = [['a', 'b', ''], ['', 'e', 'f']]
>>> df = pd.DataFrame(data)
>>> df
0 1 2
0 a b
1 e f
如果您尝试在上面的示例中使用np.nan替换”,则会得到所需的结果:
>>> df.replace('', np.nan)
0 1 2
0 a b NaN
1 NaN e f
但是,如果您的数据没有正确指定:
>>> data = [['a', 'b', None], [None, 'e', 'f']]
>>> df = pd.DataFrame(data)
>>> df
0 1 2
0 a b None
1 None e f
pandas无法帮助,因为您的数据不包含空字符串,但是非指定值(无):
>>> df.replace('', np.nan)
0 1 2
0 a b None
1 None e f
但是,您仍然有可能从表中删除Nones.听起来很傻,以下内容应该仍然有效:
>>> df.replace(np.nan, np.nan)
0 1 2
0 a b NaN
1 NaN e f
没有你的原始数据很难说,但希望上述有所帮助.