Python 将列转换为跳过np.NaNs的字符串

Python 将列转换为跳过np.NaNs的字符串,python,pandas,Python,Pandas,我的系列: a = pd.Series(['asd',4, np.NaN]) 如果我这样做: b = a.astype(str, skipna=True) print(b) print(b.isna().any()) 我做错了什么 我希望是: >>>['asd', '4', np.NaN] >>> True 我知道我可以用np.nan来代替“nan”,但如果你不得不这么做很多次,那是不切实际的 PythonV:3.6.5您的代码在我的系统(Python3

我的系列:

a = pd.Series(['asd',4, np.NaN])
如果我这样做:

b = a.astype(str, skipna=True)
print(b)
print(b.isna().any())
我做错了什么

我希望是:

>>>['asd', '4', np.NaN]
>>> True
我知道我可以用np.nan来代替“nan”,但如果你不得不这么做很多次,那是不切实际的


PythonV:3.6.5

您的代码在我的系统(Python3.7,0.25)上按预期运行。或许你可以试试:

b = a.where(a.isna(), a.astype(str))
输出:

0    asd
1      4
2    NaN
dtype: object

你的预期产量是多少?我不清楚刚刚添加的编辑器可能是您的
pandas
版本。我运行了你的代码,得到了
True
NaN
,这不是一个stringwork,我这边是0.25
0    asd
1      4
2    NaN
dtype: object