You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pydroid3中df.style高亮DataFrame最大值无效的问题咨询

问题解答:Pydroid3中无法显示Pandas样式化DataFrame的解决办法

输出含义解释

你看到的 <pandas.io.formats.style.Styler object at 0x76f9790520> 就是Styler对象的默认字符串输出——Python直接打印对象时,会输出它的类型和内存地址。

电脑端像Jupyter Notebook这类环境会自动识别Styler对象,把它转换成带样式的HTML表格渲染出来,但Pydroid3的终端是纯文本环境,不支持HTML渲染,所以直接print只会显示对象本身,不会展示高亮效果。

在Pydroid3中显示样式化效果的方法

方法1:导出为HTML文件并打开

这是最可靠的方式,HTML能完整保留样式,安卓浏览器可以正常渲染:

import pandas as pd
import webbrowser
import os

data = {'Column1': [10, 15, 8],
        'Column2': [20, 5, 12],
        'Column3': [7, 18, 9]}

df = pd.DataFrame(data)
df_styled = df.style.highlight_max(color='lightgreen')

# 保存为HTML文件
html_file = 'styled_table.html'
df_styled.to_html(html_file)

# 调用系统浏览器打开文件
webbrowser.open('file://' + os.path.abspath(html_file))

运行后,Pydroid3会打开系统浏览器展示带高亮效果的表格。

方法2:纯终端文本标记最大值

如果不想依赖浏览器,只想在终端里区分出最大值,可以手动给最大值加标记:

import pandas as pd

data = {'Column1': [10, 15, 8],
        'Column2': [20, 5, 12],
        'Column3': [7, 18, 9]}

df = pd.DataFrame(data)

# 遍历每列,给最大值添加*标记
for col in df.columns:
    max_val = df[col].max()
    df[col] = df[col].apply(lambda x: f'*{x}*' if x == max_val else str(x))

print(df)

终端输出会是这样的格式,能直观识别最大值:

Column1 Column2 Column3
0      10    *20*       7
1     *15*       5    *18*
2       8      12       9

内容的提问来源于stack exchange,提问作者Dr Brijesh K. Chaurasia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 10:42:17