Pandas - groupby 结果为 table

Pandas - groupby result as table

我是 pandas 的新手,我正在策划一个小型分析项目,查看我的 Netflix 数据。

我正在尝试显示我的前 10 部电影中的 table 个(按最长观看时长)。我有:

top10 = df.groupby(['Film Title'])['Duration'].sum().nlargest(10)

table = go.Figure(data=[go.Table(
    header=dict(values=('Title', 'Total Time Watched'),
                fill_color='#66c5cc',
                align='left'),
    cells=dict(values=['', top10],
               align='left'),
)])
table.update_layout(title_text="Top 10 Series through the Years", title_x=0.5)

这导致 table 看起来像这样:

result table

我找不到一种方法来获取连接到“前 10 名”列表的电影的标题,以便能够将其插入到“单元格”中的“值”中。 “前 10 名”列表仅显示持续时间。我尝试更改“top10”的索引并创建一个列表,但找不到答案。这可能很简单,但我是编程新手,所以不知道错误在哪里:/

感谢您的帮助!提前谢谢你:)

您将空白值 '' 放入您的单元格值中,您需要用您想要的值填充它,在这种情况下它是您的 groupby 索引:top10.index

table = go.Figure(data=[go.Table(
    header=dict(values=('Title', 'Total Time Watched'),
                fill_color='#66c5cc',
                align='left'),
    cells=dict(values=[top10.index, top10],
               align='left'),
)])
table.update_layout(title_text="Top 10 Series through the Years", title_x=0.5)