在转换为字符串后,我如何保留空值?我正在处理社会安全号码,在其中需要在浮点型和字符串之间来回切换。
import pandas as pd
import numpy as np
x = pd.Series([np.nan, 123., np.nan, 456.], dtype = float)
x.isnull()
...存在空值
y = x.astype(str)
y.isnull()
...没有空值
理想情况下,x.isnull()和y.isnull()应该是相同的。
我认为使用混合数据类型的系列很危险,但暂时认为这是最佳解决方案:
z = y.copy()
z[z == 'nan'] = np.nan
z.isnull() # works as desired
type(z[0]) # but has floats for nulls
type(z[1]) # and strings for values