2017-10-20 5 views
0

私はこれら二つの配列2つの配列を連結して配列を作成するにはどうすればよいですか?

slist = np.arange(1,1723,50) #List of start index 
elist = np.arange(50,1800,50) #End index 

この

'G'+'{:0>5}'.format(slist[0])+"-"+'{:0>5}'.format(elist[0]) 

を持っているが私を与える:

'G00001-00050' 

は私がslistelistのすべての要素の上にこれをやってみたいです。

どうすればいいですか?

アイデアは、私はあなたが、要素ごとにそれらを連結した文字列とnp.char.addにパッド0np.char.zfillを使用することができ、ファイル名の文字列として

答えて

1

それらを持っているファイルをインポートするために使用します配列リストを構築することです。

from functools import reduce 
import numpy as np 
​ 
def cust_format(slist, elist): 

    slist = np.char.zfill(slist.astype(str), 5) 
    elist = np.char.zfill(elist.astype(str), 5) 
    lst = ['G', slist, '-', elist] 

    return reduce(np.char.add, lst) 

cust_format(slist, elist) 
#array(['G00001-00050', 'G00051-00100', 'G00101-00150', 'G00151-00200', 
#  'G00201-00250', 'G00251-00300', 'G00301-00350', 'G00351-00400', 
#  'G00401-00450', 'G00451-00500', 'G00501-00550', 'G00551-00600', 
#  'G00601-00650', 'G00651-00700', 'G00701-00750', 'G00751-00800', 
#  'G00801-00850', 'G00851-00900', 'G00901-00950', 'G00951-01000', 
#  'G01001-01050', 'G01051-01100', 'G01101-01150', 'G01151-01200', 
#  'G01201-01250', 'G01251-01300', 'G01301-01350', 'G01351-01400', 
#  'G01401-01450', 'G01451-01500', 'G01501-01550', 'G01551-01600', 
#  'G01601-01650', 'G01651-01700', 'G01701-01750'], 
#  dtype='|S12') 
+0

私は疑問を誤解しているかもしれませんが、私が得たのは、彼らが 'elist'のすべての要素で' slist'のすべての要素を使用したいと考えているということです。これにより、最終リストに合計1225個の要素が追加されます。あなたの関数が35を返しているようです。 – PeterH

+1

@PeterH OPが外部連結を望む可能性があります。 OPは後で明らかにするでしょう。 – Psidom

+0

はい、@Psidomは正しいです。私は実際にその言葉を知らなかった。 – maximusdooku

関連する問題