2013-10-30 343 views
7

我有一個有100萬行和5列的熊貓數據框y。熊貓DataFrame列連接

np.shape(y) 
(1037889, 5) 

的列值均爲0或1。看起來是這樣的:

y.head() 
a, b, c, d, e 
0, 0, 1, 0, 0 
1, 0, 0, 1, 1 
0, 1, 1, 1, 1 
0, 0, 0, 0, 0 

我要100萬行1列一個數據幀。

np.shape(y) 
(1037889,) 

其中列只是連在一起的5列。

New column 
0, 0, 1, 0, 0 
1, 0, 0, 1, 1 
0, 1, 1, 1, 1 
0, 0, 0, 0, 0 

我一直在嘗試不同的事物一樣mergeconcatdstack等.. 但似乎無法弄清楚這一點。

回答

10

如果你想新列有所有的數據連接起來以串,這是很好的情況下適用()函數:

>>> df = pd.DataFrame({'a':[0,1,0,0], 'b':[0,0,1,0], 'c':[1,0,1,0], 'd':[0,1,1,0], 'c':[0,1,1,0]}) 
>>> df 
    a b c d 
0 0 0 0 0 
1 1 0 1 1 
2 0 1 1 1 
3 0 0 0 0 
>>> df2 = df.apply(lambda row: ','.join(map(str, row)), axis=1) 
>>> df2 
0 0,0,0,0 
1 1,0,1,1 
2 0,1,1,1 
3 0,0,0,0