如何用Plotly将Pandas DataFrame行名设为表格行名称?
解决Plotly表格显示DataFrame行名及自定义列名的问题
嘿,我来帮你搞定这个Plotly表格的需求!其实只要把DataFrame的行名转成表格的第一列,再自定义列名就可以轻松实现,下面是具体的代码示例和步骤:
步骤1:准备示例DataFrame
先构造一个带自定义行名的DataFrame,模拟你的数据场景:
import pandas as pd import plotly.graph_objs as go # 示例数据,行名是你想在表格里显示的行名称 df = pd.DataFrame( data=[[15, 25], [35, 45], [55, 65]], index=["产品A", "产品B", "产品C"], # 这就是你的DataFrame行名 columns=["默认列1", "默认列2"] )
步骤2:处理DataFrame,适配Plotly表格
我们需要把行名(index)转为表格的第一列,同时把列名替换成你想要的XXX、YYY:
# 把行名转为普通列,并命名为"行名称",同时重命名其他列 processed_df = df.reset_index().rename( columns={ "index": "行名称", # 行名对应的列名 "默认列1": "XXX", # 自定义列名1 "默认列2": "YYY" # 自定义列名2 } )
步骤3:创建Plotly表格
用处理后的DataFrame生成表格,此时行名称和自定义列名都会正确显示:
# 构建表格的头部和单元格数据 table = go.Table( header=dict( values=list(processed_df.columns), # 头部显示自定义列名 fill_color='lightblue', align='center', font=dict(size=12, color='white') ), cells=dict( values=[processed_df[col] for col in processed_df.columns], # 单元格包含行名称和数据 fill_color='lightcyan', align='center' ) ) # 生成并展示图表 fig = go.Figure(data=[table]) fig.show()
关键说明
reset_index():把DataFrame的行索引(行名)转换成一个普通列,这样就能在Plotly表格里作为行名称展示rename():直接替换列名,轻松把默认列名改成你需要的XXX、YYY- Plotly的
go.Table本身没有单独的行标签设置,把行名转为第一列是最直观且通用的实现方式
内容的提问来源于stack exchange,提问作者Sushmita
相关产品推荐
相关产品推荐

