2013-05-03 73 views
2

我有兩個數組,並希望在每一個在一起的第i個元素相結合:結合的兩個數組Python中的所有元素

import numpy as np 
a = np.array(['a', 'b', 'c']) 
b = np.array(['x', 'y', 'z']) 

我想回到

array(['ax', 'by', 'cz']) 

什麼功能這個? THX,

回答

7
>>> import numpy as np 
>>> a = np.array(['a', 'b', 'c']) 
>>> b = np.array(['x', 'y', 'z']) 
>>> c = np.array([i+j for i, j in zip(a, b)]) 
>>> c 
array(['ax', 'by', 'cz'], 
     dtype='|S2') 

@DSM使點,如果abdtype=object,你可以簡單地將兩個數組相加:

>>> a = np.array(["a", "b", "c"], dtype=object) 
>>> b = np.array(["x", "y", "z"], dtype=object) 
>>> c = a + b 
>>> c 
array([ax, by, cz], dtype=object) 
+0

謝謝,我知道這很簡單,就是不能打釘下。 – mike 2013-05-03 03:43:19

+0

@mike沒有問題,當組合迭代時,幾乎總是值得嘗試'zip'。 – 2013-05-03 03:44:05

+3

如果'a'和'b'具有'dtype = object',那麼'a + b'就會正常工作(tm)。 [其實,我認爲任何一個都可以。] – DSM 2013-05-03 03:52:26

相關問題