You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Numpy savetxt设置千位分隔符?

使用numpy savetxt生成带千位分隔符的数值输出

numpy的savetxt默认的fmt参数无法直接实现千位分隔符格式化,因为Python标准数值格式说明符没有内置该功能,但可以通过以下两种方法解决:

方法1:先将数值转换为带千位分隔符的字符串

先把数组中的每个数值格式化为目标格式的字符串,再执行保存操作:

import numpy as np

arr = np.array([12033000.000])
# 将数组元素转为带千位分隔符的字符串,%.3f保证保留三位小数
str_arr = np.char.mod('%,.3f', arr)
# 以字符串格式保存到文件
np.savetxt('output.txt', str_arr, fmt='%s')

这里的%,.3f是Python格式化语法:%表示添加千位分隔符,.3f控制保留三位小数。

方法2:自定义格式化函数配合savetxt

通过向量化的自定义格式化函数处理数组元素,再保存:

import numpy as np

def format_with_sep(x):
    return f"{x:,.3f}"

arr = np.array([12033000.000])
# 向量化格式化函数,适配numpy数组处理
vec_format = np.vectorize(format_with_sep)
formatted_arr = vec_format(arr)
np.savetxt('output.txt', formatted_arr, fmt='%s')

注意:两种方法最终保存的是字符串类型的数值,若后续需要读取并作为数值计算,需先去除千位分隔符再转换类型。

内容的提问来源于stack exchange,提问作者Ge Du

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 04:01:19