2017-10-24 4 views
0

DataFrameの列を連結したい。DataFrameのConcat数値列を動的に

まず、数字を連結するために、私はこの素晴らしい解決策を見つけましたhere

In [1]: l = [1,2,3,4] 

In [2]: int(''.join(map(str,l))) 
Out[2]: 1234 

これをDataFrameの列に適用する必要があります。私はこのようにすることができます:

In [1]: import pandas as pd 

In [2]: df = pd.DataFrame({'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]}) 

In [3]: df 
Out[3]: 
    a b c 
0 1 4 7 
1 2 5 8 
2 3 6 9 

In [4]: df['concat'] = df['a'].astype(str) + df['b'].astype(str) + df['c'].astype(str) 

In [5]: df 
Out[5]: 
    a b c concat 
0 1 4 7 147 
1 2 5 8 258 
2 3 6 9 369 

しかし、これを動的列名でどうやって行うことができますか?個別に各列を手動で書き込む必要はありません。代わりに、私は列名のリストを持ち、何らかの形でそれらの内容を連結するために繰り返します。

(私は怠け者ではなく、より大きなDataFramesで作業しています)。

ありがとうございました。

答えて

2

これはいかがですか?すべての列を行方向に連結します。

df.apply(lambda x: ''.join(map(str,x)),axis=1) 

0 147 
1 258 
2 369 
dtype: object 
関連する問題