gpt4 book ai didi

python - 在 Pandas 表中插入链接

转载 作者:IT老高 更新时间:2023-10-28 22:04:00 25 4
gpt4 key购买 nike

我想在 Pandas 表格中插入一个链接(指向网页),所以当它显示在 IPython 中时笔记本,我可以点击链接。

我尝试了以下方法:

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

但是 URL 只是显示为文本。

我也尝试过使用 IPython HTML 对象:

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>

但它只会显示对象的repr。

还有其他想法吗?


alko 得到了正确的答案。我只是想补充一点,默认情况下单元格宽度是有限的,长HTML代码会被截断,即:

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

会变成这样:

<a href="aaaaaaaaaaaaaaaaaaaaaa...

并且不会正确显示。 (即使文本 xxx 很短并且可以放入单元格中。)

我已经通过设置绕过它:

pd.set_printoptions(max_colwidth=-1)

最佳答案

我想你必须将整个 Pandas 对象表示为 HTML object ,也就是

In [1]: from IPython.display import HTML

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

In [3]: df['a'] = df['a'].apply(lambda x: '<a href="http://example.com/{0}">link</a>'.format(x))

In [4]: HTML(df.to_html(escape=False))

抱歉,现在手头没有IPython,无法检查输出是否正确。

关于python - 在 Pandas 表中插入链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20035518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com