2013-10-30 51 views
7

Ho un Dataframe panda con 1 milione di righe e 5 colonne.Concatenazione colonna Pandas DataFrame

np.shape(y) 
(1037889, 5) 

I valori delle colonne sono tutti 0 o 1. simile a questa:

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 

Voglio un dataframe con 1 milione di righe e 1 colonna.

np.shape(y) 
(1037889,) 

dove la colonna è solo le 5 colonne concatenate insieme.

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

continuo a provare cose diverse, come merge, concat, dstack, ecc ... ma non riesco a capire questo fuori.

risposta

10

Se si vuole nuova colonna di avere tutti i dati concatenati a stringa, è bene caso per applicare() funzione:

>>> 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 
Problemi correlati