[英]Concatenate strings from a 2D numpy array
我想連接像這樣的2d numpy
數組中的字符串,
for x in np.ndindex(mat.shape[0]):
concat = ""
for y in range(len(columns)):
concat += str(mat[x][2 + y])
mat
是一個包含每個單元格中的string
s或int
的二維數組, columns
是mat
的列名列表,例如['A', 'B', 'C', 'D']
,使用mat[x][2 + y]
避免連接前兩列的字符串。 我想知道最好的方法是什么,可能是以更簡潔/有效的方式。
你在連接的定義中有點模糊 - 我希望以下內容足以讓你開始
print('\n'.join(' '.join(str(x) for x in row[2:]) for row in mat))
外部join
加入行以一個換行符,內部一個加入了幾個在各行的元素的mat
-如果你除了前兩個的所有元素之后都沒有了,修改就拜托你了切片的上限.. 。
請注意, str(x)
使字符串元素不受干擾,並以合理的方式格式化數字項。
AB -使用我們正在處理一個事實2D
數組,我們可以訴諸只是一個循環-
["".join(i) for i in mat[:,2:].astype(str)]
樣品運行 -
In [143]: mat
Out[143]:
array([[1, 1, 0, 3, 1, 1],
[3, 0, 1, 1, 1, 0],
[2, 2, 1, 2, 1, 1]])
In [144]: ["".join(i) for i in mat[:,2:].astype(str)]
Out[144]: ['0311', '1110', '1211']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.