如何删除pandas DataFrame中的一列,并使另一列可单击,重定向到同一行中的URL?

ecbunoof  于 2023-05-27  发布在  其他
关注(0)|答案(2)|浏览(97)

假设我有一个pandas DF,数据如下:

`data = {
    'Crypto': ['ARB', 'ETH', 'ETH'],
    'Position': ['Long 10.0X', 'Short 25.0X', 'Short 2.0X'],
    'Size Crypto': ['1,075,328.5024 ARB', '20.5007 ETH', '11.937 ETH'],
    'Size USD': ['$1,240,929', '$37,225', '$21,675'],
    'Entry Price': ['$1.15', '$1,793.4', '$1,810.4'],
    'ROE': ['+ 3.94%', '- 31.24%', '- 0.60%'],
    'URL': ['www.google.com',
            'www.google.com',
            'www.google.com'],
    'Win Loss Ratio': [1.0, 1.0, 1.0],
    'Last Price': ['1.152000', '1813.00', '1813.00']
}`

我想摆脱'URL'列,但使它这样的'加密'列是可点击的,它重定向到'URL'下的相应值。
这可能实现吗?我在谷歌或Pandas文档中找不到任何东西。
谢谢你的帮助

epfja78i

epfja78i1#

下面是另一种方法:

(
    df.assign(Crypto= df[["Crypto", "URL"]].apply(
        lambda x: f'<a href="{x[1]}">{x[0]}</a>', axis=1))
            .drop(columns="URL")
            .style
)

输出:

ql3eal8s

ql3eal8s2#

您可以使用pop的列表解析来删除列,然后根据您想要如何处理输出来转换to_html或使用style

from IPython.display import HTML  
    
df = pd.DataFrame(data)

df['Crypto'] = [f'<a href="{url}">{symbol}</a>'
                for symbol, url in zip(df['Crypto'], df.pop('URL'))]

HTML(df.to_html(escape=False))

# or
df.style

输出:

相关问题