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

如何用plotly.go.Table自动筛选DataFrame特定列生成表格

解决Plotly Go表格仅展示指定DataFrame列的问题

你遇到的IndexError是因为df.columns是Pandas的Index对象,它不支持直接用字符串列表做索引——Index仅接受整数、切片(:)、布尔数组等类型的索引值。同时你原代码中给values套了外层[],导致传入了嵌套结构,也会引发异常。

以下是两种可行的解决方案:

方法一:先筛选子DataFrame(直观易维护)

先定义要展示的列名列表,从原DataFrame中提取对应的子数据集,再用子数据集的列和内容生成表格:

import plotly.graph_objects as go

# 定义需要展示的列
target_columns = ['Block Number', 'Base Token']
# 提取仅包含目标列的子DataFrame
df_filtered = df[target_columns]

# 生成Plotly表格
fig_positions = go.Figure(data=go.Table(
    header=dict(values=list(df_filtered.columns)),  # 将列名转为列表传入
    cells=dict(values=[df_filtered[col] for col in df_filtered.columns])  # 对应列的数据
))

# 渲染表格
fig_positions.show()

方法二:直接使用列名列表(简洁高效)

无需提前生成子DataFrame,直接用目标列名列表构造表格的header和cells:

import plotly.graph_objects as go

target_columns = ['Block Number', 'Base Token']

fig_positions = go.Figure(data=go.Table(
    header=dict(values=target_columns),
    cells=dict(values=[df[col] for col in target_columns])
))

fig_positions.show()

关键注意点

  • 不要给values参数套额外的外层列表,它需要的是一维的列名/数据列表。
  • 若需要动态调整展示列,只需修改target_columns列表即可,无需逐个修改代码中的列名引用。

内容的提问来源于stack exchange,提问作者Luiz Scheuer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:15:30