如何将float64类型的变量转换为string类型字符串?
错误原因
你当前的写法中调用了isnull()方法,该方法会返回布尔类型的序列(仅包含True/False两个值,用于标识原序列对应位置的值是否为空),因此后续调用astype(str)转换得到的只能是布尔值对应的字符串,和你要转换原float数值的需求不符。
正确实现方案
- 基础转换(空值会转为字符串
'nan')
直接移除isnull()调用即可:data['Abo_str'] = data['Abo'].astype(str) - 规范空值处理(使用pandas原生字符串类型,空值保留为缺失标记
pd.NA,不会转为'nan')data['Abo_str'] = data['Abo'].astype('string') - 自定义数值格式化转换(比如保留2位小数,空值转为空字符串)
import pandas as pd data['Abo_str'] = data['Abo'].apply(lambda x: f"{x:.2f}" if pd.notna(x) else "")
内容的提问来源于stack exchange,提问作者ReneFrbg
相关产品推荐
相关产品推荐

