Insertar un enlace dentro de una mesa pandas.

Me gustaría insertar un enlace (a una página web) dentro de una tabla de pandas, para que cuando aparezca en el cuaderno de ipython, pueda presionar el enlace.

Intenté lo siguiente:

In [1]: import pandas as pd

In [2]: df = pd.DataFrame(range(5), columns=['a'])

In [3]: df['b'] = df['a'].apply(lambda x: 'http://example.com/{0}'.format(x))

In [4]: df
Out[4]:
   a                     b
0  0  http://example.com/0
1  1  http://example.com/1
2  2  http://example.com/2
3  3  http://example.com/3
4  4  http://example.com/4

pero la url solo se muestra como texto.

También traté de usar el objeto HTML ipython:

In [5]: from IPython.display import HTML

In [6]: df['b'] = df['a'].apply(lambda x:HTML('http://example.com/{0}'.format(x)))

In [7]: df
Out[7]:
   a                                                 b
0  0  <IPython.core.display.HTML object at 0x0481E530>
1  1  <IPython.core.display.HTML object at 0x0481E770>
2  2  <IPython.core.display.HTML object at 0x0481E7B0>
3  3  <IPython.core.display.HTML object at 0x0481E810>
4  4  <IPython.core.display.HTML object at 0x0481EA70>

pero solo mostrará la reproducción del objeto.

¿Alguna otra idea?

EDITAR: alko obtuvo la respuesta correcta, solo quería agregar que el ancho de la celda está limitado de manera predeterminada, y el código html largo se truncará, es decir:

<a href="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0">xxx</a>

se convertirá en esto:

<a href="aaaaaaaaaaaaaaaaaaaaaa...

y no se mostrará correctamente. (aunque el texto xxx es corto y puede caber en la celda)

Lo he pasado por alto estableciendo:

pd.set_printoptions(max_colwidth=-1)

Respuestas a la pregunta(1)

Su respuesta a la pregunta