簡體   English   中英

將二維 numpy 數組轉換為一維字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM