2013-10-30 13 views
7

私は100万行5列のpandas Dataframeを持っています。私は1万行と1列を持つデータフレームをしたいパンダDataFrameの列連結

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 

np.shape(y) 
(1037889, 5) 

列の値はすべて0または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