Python 如何在一行代码内将浮点转换为字符串(不包括NaN)?
我想将一列浮点值转换为字符串,以下是我当前的方式:Python 如何在一行代码内将浮点转换为字符串(不包括NaN)?,python,pandas,Python,Pandas,我想将一列浮点值转换为字符串,以下是我当前的方式: userdf['phone_num'] = userdf['phone_num'].apply(lambda x: "{:.0f}".format(x) if x is not None else x) 但是,它也会将NaN转换为字符串“NaN”,这在我检查此列中缺少的值时是不好的,有更好的主意吗 谢谢 我认为您应该比较Nan值,而不是比较None值 userdf['phone_num'] = userdf['phone_num'].appl
userdf['phone_num'] = userdf['phone_num'].apply(lambda x: "{:.0f}".format(x) if x is not None else x)
但是,它也会将NaN转换为字符串“NaN”,这在我检查此列中缺少的值时是不好的,有更好的主意吗
谢谢 我认为您应该比较Nan值,而不是比较None值
userdf['phone_num'] = userdf['phone_num'].apply(lambda x: "{:.0f}".
format(x) if not pd.isnull(x) else x)
userdf['phone_num'].astype('str')
或:df.phone_num.where(pd.notnull,df.phone_num.astype(str))
如果您想保持NaN
type…您的答案和@AkshayNevrekar都很好,但它在“phone_num”列中保留类型为“float”的缺失值,而其他值为string。因此,如果您需要默认值,则可以在上面的答案中的if条件中添加该值。所以,如果值为NaN@ArpitSolanki谢谢@juanpa.arrivillaga这很好,但问题正如我上面回答的,无论如何,谢谢!