Pandas DataFrame列转数值列表,tolist()返回字符串问题如何解决
解决方法
你的expense列实际存储的是带$前缀的字符串类型,而非你认为的浮点型,所以需要先完成数值清洗转换,再输出列表:
步骤1:清洗并转换列数据类型
# 移除$符号,转换为浮点型 temp['expense'] = temp['expense'].str.replace('$', '', regex=False).astype(float)
如果字段中可能存在多余空格,可以额外加去空格处理,兼容性更强:
temp['expense'] = temp['expense'].str.replace('$', '', regex=False).str.strip().astype(float)
步骤2:转换为数值列表
expense_num_list = temp['expense'].tolist()
转换后的列表格式为:[20.0, 15.0, 3.0, 6.0, 3.0, 2.5],可直接用于后续数值计算。
如果你的业务场景不需要保留小数,且确认所有值均为整数,也可以将astype(float)替换为astype(int)得到整数列表。
内容的提问来源于stack exchange,提问作者qaz
相关产品推荐
相关产品推荐

