在绘图表上绘制数据框的更好方法

Ebr*_*ram 5 python python-3.x plotly

浏览文档https://plotly.com/python/table/ 我想将数据框绘制为表格

文档建议如下

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_usa_states.csv')

fig = go.Figure(data=[go.Table(
    header=dict(values=list(df.columns),
                fill_color='paleturquoise',
                align='left'),
    cells=dict(values=[df.Rank, df.State, df.Postal, df.Population],
               fill_color='lavender',
               align='left'))
])

fig.show()
Run Code Online (Sandbox Code Playgroud)

但是,我的数据框有点大,我想要一种更好的方法来输入列的值。比

....values=[df.Rank, df.State, df.Postal, df.Population]....
Run Code Online (Sandbox Code Playgroud)

Ebr*_*ram 11

经过一番搜索,我找到了一个简单的替代品。Pandas 允许将整个数据帧转换为列表列表。

只需将行替换为

df.transpose().values.tolist()
Run Code Online (Sandbox Code Playgroud)

所以最终的代码看起来像这样

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_usa_states.csv')

fig = go.Figure(data=[go.Table(
    header=dict(values=list(df.columns),
                fill_color='paleturquoise',
                align='left'),
    cells=dict(values=df.transpose().values.tolist(),
               fill_color='lavender',
               align='left'))
])

fig.show()
Run Code Online (Sandbox Code Playgroud)

参考

https://thispointer.com/pandas-convert-a-dataframe-into-a-list-of-rows-or-columns-in-python-list-of-lists/

  • 我遇到了完全相同的问题。非常感谢您的回答。效果很好。 (2认同)
  • 谢谢,这为我解决了很多痛苦:-) `.transpose()` 只适用于 Panda Dataframes。如果有人(像我一样)在 Spark 中使用了另一种格式,只需在转置前面添加`.toPandas()`,它就像一个魅力! (2认同)