2016-08-21 2 views
1

私は連結する必要がある列のリストを持っています。例えば、テーブルは次のようになります。python-pandas-ループで列を連結する

import numpy as np 
cats1=['T_JW', 'T_BE', 'T_FI', 'T_DE', 'T_AP', 'T_KI', 'T_HE'] 
data=np.array([random.sample(range(0,2)*7,7)]*3) 

df_=pd.DataFrame(data, columns=cats1) 

だから私は(それが各値の間に空白で可能の場合)、各ラインの連結を取得する必要があります。私が試した:

listaFin=['']*1000 
for i in cats1: 
    lista=list(df_[i]) 
    listaFin=zip(listaFin,lista) 

しかし、私はタプルのリストを取得:

listaFin: 

[((((((('', 0), 0), 1), 0), 1), 0), 1), 
((((((('', 0), 0), 1), 0), 1), 0), 1), 
((((((('', 0), 0), 1), 0), 1), 0), 1)] 

をそして私は

[0 0 1 0 1 0 1, 
0 0 1 0 1 0 1, 
0 0 1 0 1 0 1] 

ようなものを取得する必要があり、私は一つだけのループ以下を使用してこれを行うことができますどのように(私はダブルループを使用したくない)?

ありがとうございました。

答えて

0

私はあなたがスペースで区切られた整数のリストをPythonで文字列に入れることなく(私は間違っているかもしれない)持つことができるとは思わない。 [ '1 0 0 0 1 0 1'、 '1 0 0 0 1 0 1'、「1 0 0 0 1:

output = [] 
for i in range(0,df_.shape[0]): 
    output.append(' '.join(str(x) for x in list(df_.loc[i]))) 
print(output) 

出力は次のようになります。私は答えがある、と述べました0 1 ']