2013-10-30 38 views
7

Tôi có một khung dữ liệu Dataframe y với 1 triệu hàng và 5 cột.Kết nối cột dữ liệu Pandas DataFrame

np.shape(y) 
(1037889, 5) 

Các giá trị cột là tất cả 0 hoặc 1. Trông cái gì đó như thế này:

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 

Tôi muốn có một Dataframe với 1 triệu hàng và 1 cột.

np.shape(y) 
(1037889,) 

trong đó cột chỉ là 5 cột được nối với nhau.

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

tôi tiếp tục cố gắng điều khác nhau như merge, concat, dstack, vv ... nhưng dường như không thể con số này ra.

Trả lời

10

Nếu bạn muốn cột mới để có tất cả dữ liệu nối chuỗi, đó là trường hợp tốt cho áp dụng() chức năng:

>>> 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 
Các vấn đề liên quan