答案 0 :(得分:1)
您的数据一定存在问题,而pandas则没有问题。见下面的例子:
>>> 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
无法提供帮助,因为您的数据不包含空字符串,但是未指定的值(None
):
>>> df.replace('', np.nan)
0 1 2
0 a b None
1 None e f
但是,您仍有可能从表中删除None
s。听起来很傻,以下内容应该仍然有效:
>>> df.replace(np.nan, np.nan)
0 1 2
0 a b NaN
1 NaN e f
如果没有原始数据,很难说,但希望上述有所帮助。