[英]numpy: create a 2d numpy array where each row is filled with strings from a regular array
我有一個包含等長字符串的常規列表:
['FADVAG', 'XXDXFA', 'GDXX..']
我想將其轉換為二維numpy數組,如下所示:
[['F' 'A' 'D' 'V' 'A' 'G']
['X' 'X' 'D' 'X' 'F' 'A']
['G' 'D' 'X' 'X' '.' '.']]
我怎樣才能做到這一點?
list('astring')
分割字符:
In [187]: alist=['FADVAG', 'XXDXFA', 'GDXX..']
In [188]: arr = np.array([list(a) for a in alist])
In [189]: arr
Out[189]:
array([['F', 'A', 'D', 'V', 'A', 'G'],
['X', 'X', 'D', 'X', 'F', 'A'],
['G', 'D', 'X', 'X', '.', '.']],
dtype='<U1')
如果您想避免列表理解,請將它們合並為一個字符串,然后從那里開始
np.array(list(''.join(alist))).reshape(3,-1)
試試下面的代碼:
import numpy as np
l = ['FADVAG', 'XXDXFA', 'GDXX..']
l = np.array(l)
l.reshape(len(l),-1)
輸出:
array([['FADVAG'],
['XXDXFA'],
['GDXX..']],
dtype='<U6')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.