8

100 万行と 5 列の pandas Dataframe y があります。

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

mergeconcat、などのさまざまなことを試し続けてdstackいますが、これを理解できないようです。

4

1 に答える 1

11

新しい列にすべてのデータを文字列に連結させたい場合は、apply() 関数が適しています。

>>> 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
于 2013-10-30T06:23:05.393 に答える