我有一个需要连接的列列表。示例表将是:
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 :(得分: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']