Numpy 将空字符串替换为np.nan,但得到';楠';
我试图用Numpy 将空字符串替换为np.nan,但得到';楠';,numpy,pandas,Numpy,Pandas,我试图用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,则会得到所需的
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
无法帮助您,因为您的数据不包含空字符串,而是包含非指定值(None
):
但是,仍然有可能从表中删除None
s。下面这句话听起来很傻,但应该仍然有效:
>>> df.replace(np.nan, np.nan)
0 1 2
0 a b NaN
1 NaN e f
如果没有原始数据很难说,但希望上面的帮助。你的标题说你得到了“NaN”?(这是意料之中的事)。但你能给出一个可重复的例子吗?()
>>> df.replace(np.nan, np.nan)
0 1 2
0 a b NaN
1 NaN e f