複数カラムcolumnの各要素each elementの文字列の値string valueを、
それぞれ結合する。

In [86]: df5
Out[86]: 
   a   b     c
0  1   2     5
1  2   4  hoge
2  3   6     8
3  4   8     9
4  5  10    10

In [87]: df5[d] = df5[[a,b]].apply(lambda x: _.join(x), axis=1)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-89-0d4dec20f2e7> in <module>()
----> 1 df5[d] = df5[[a,b]].apply(lambda x: _.join(x), axis=1)

C:Anaconda3Libsite-packagespandascoreframe.py in apply(self, func, axis, broadcast, raw, reduce, args, **kwds)
   3970                     if reduce is None:
   3971                         reduce = True
-> 3972                     return self._apply_standard(f, axis, reduce=reduce)
   3973             else:
   3974                 return self._apply_broadcast(f, axis)

C:Anaconda3Libsite-packagespandascoreframe.py in _apply_standard(self, func, axis, ignore_failures, reduce)
   4062             try:
   4063                 for i, v in enumerate(series_gen):
-> 4064                     results[i] = func(v)
   4065                     keys.append(v.name)
   4066             except Exception as e:

<ipython-input-89-0d4dec20f2e7> in <lambda>(x)
----> 1 df5[d] = df5[[a,b]].apply(lambda x: _.join(x), axis=1)

TypeError: (sequence item 0: expected str instance, numpy.int64 found, occurred at index 0)

ゲロ、、、

In [88]: df5.a.dtype
Out[88]: dtype(int64)

In [89]: df5.b.dtype
Out[89]: dtype(int64)

df5.adf5.bともintなので、strじゃねー と蹴られる。
じゃー、、、ってことで、

In [90]: df5[d] = df5[[a,b]].apply(lambda x: _.join(str(x)), axis=1)

In [91]: df5
Out[91]: 
   a   b     c                                                  d
0  1   2     5  a_ _ _ _ _1_
_b_ _ _ _ _2_
_N_a_m_e_:_ _0_,_...
1  2   4  hoge  a_ _ _ _ _2_
_b_ _ _ _ _4_
_N_a_m_e_:_ _1_,_...
2  3   6     8  a_ _ _ _ _3_
_b_ _ _ _ _6_
_N_a_m_e_:_ _2_,_...
3  4   8     9  a_ _ _ _ _4_
_b_ _ _ _ _8_
_N_a_m_e_:_ _3_,_...
4  5  10    10  a_ _ _ _ _ _5_
_b_ _ _ _ _1_0_
_N_a_m_e_:_ _...

なんじゃこりゃ???
うーん、、、そうかlambda中のxはどうもリストlistらしい。
なら、

In [93]: df5[d] = df5[[a,b]].apply(lambda x: {}_{}.format(x[0],x[1]), axis=1)

In [94]: df5
Out[94]: 
   a   b     c     d
0  1   2     5   1_2
1  2   4  hoge   2_4
2  3   6     8   3_6
3  4   8     9   4_8
4  5  10    10  5_10

うまくいった。
なるほどねー。

参考。

stackoverflow.com