首页 > 解决方案 > 将numpy转换为字符串时空格数不均匀

问题描述

我想将 numpy 数组转换为字符串表示形式,并且当 numpy 数组中的位数不恒定时遇到问题。考虑两种情况——

import numpy as np

arr = np.array([0,0])
arr_str = str(arr).strip("[]")
print("String:", arr_str)
print("Len:", len(arr_str))

arr = np.array([10,0])
arr_str = str(arr).strip("[]")
print("String:", arr_str)
print("Len:", len(arr_str))
 

输出是 -

String: 0 0
Len: 3
String: 10  0
Len: 5

第一种情况有两个数字用一个空格分隔,而第二种情况有两个空格。如果不是因为额外的空间,第二个字符串的长度应该是 4 而不是 5。有没有办法将 numpy 转换为字符串,以便每个元素始终由一个空格分隔?

这是python 3.8numpy 1.19.2

标签: pythonarraysstringnumpy

解决方案


你已经完成了大部分工作。现在简单split的字符串和 re-join它与单个空格:

num_list = arr_string.split()
print(' '.join(num_list))

推荐阅读