2016-08-21 98 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']