[英]Converting a 2D numpy array to a 1D string
我有一個 numpy 數組,看起來像這樣 - arr = np.array([[1, 2, 3], [2, 3, 4], [5, 6, 7]])
。
我希望能夠將它轉換為這樣的字符串表示形式 - out = np.array(['1 2 3', '2 3 4', '5 6 7'])
。
以下工作,但它可能不是大型 arrays 最有效的 -
import numpy as np
arr = np.array([[1, 2, 3], [2, 3, 4], [5, 6, 7]])
out = np.apply_along_axis(
lambda s: np.array2string(s, separator=" ", formatter={'int': lambda x: str(x)})[1:-1],
axis=1, arr=arr
)
print(out)
有沒有更快的方法來做到這一點?
您可以使用列表理解:
out = np.array([str(l).strip("[]") for l in arr])
#array(['1 2 3', '2 3 4', '5 6 7'], dtype='<U5')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.