2016-08-21 101 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中有一個空格分隔的整數列表,但它們不在字符串中(我可能是錯的)。說了這麼多,回答我的是:

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

輸出如下: [ '1 0 0 0 1 0 1', '1 0 0 0 1 0 1',「1 0 0 0 1 0 1']