gpt4 book ai didi

python - numpy 数组的字符串表示形式,用逗号分隔其元素

转载 作者:IT老高 更新时间:2023-10-28 22:10:23 34 4
gpt4 key购买 nike

我有一个numpy数组,例如:

points = np.array([[-468.927,  -11.299,   76.271, -536.723],
[-429.379, -694.915, -214.689, 745.763],
[ 0., 0., 0., 0. ]])

如果我打印它或使用 str() 将其转换为字符串,我会得到:

print w_points
[[-468.927 -11.299 76.271 -536.723]
[-429.379 -694.915 -214.689 745.763]
[ 0. 0. 0. 0. ]]

我需要把它变成一个用逗号分隔的字符串,同时保持二维数组结构,即:

[[-468.927,  -11.299,   76.271, -536.723],
[-429.379, -694.915, -214.689, 745.763],
[ 0., 0., 0., 0. ]]

有人知道将 numpy 数组转换为那种形式的字符串的简单方法吗?

我知道 .tolist() 添加了逗号,但结果丢失了 2D 结构。

最佳答案

尝试使用 repr

>>> import numpy as np
>>> points = np.array([[-468.927, -11.299, 76.271, -536.723],
... [-429.379, -694.915, -214.689, 745.763],
... [ 0., 0., 0., 0. ]])
>>> print(repr(points))
array([[-468.927, -11.299, 76.271, -536.723],
[-429.379, -694.915, -214.689, 745.763],
[ 0. , 0. , 0. , 0. ]])

如果您打算使用大型 numpy 数组,请先设置 np.set_printoptions(threshold=np.nan)。没有它,数组表示将在大约 1000 个条目后被截断(默认情况下)。

>>> arr = np.arange(1001)
>>> print(repr(arr))
array([ 0, 1, 2, ..., 998, 999, 1000])

当然,如果你有这么大的数组,这开始变得不那么有用了,你可能应该以某种方式分析数据,而不是仅仅查看它,并且有 better ways持久化一个 numpy 数组而不是将其 repr 保存到文件中......

关于python - numpy 数组的字符串表示形式,用逗号分隔其元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16423774/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com