【问题标题】:How can I save table of dataframe in Python?如何在 Python 中保存数据框表?
【发布时间】:2020-07-06 17:16:03
【问题描述】:

我有一个关于将数据框放入表格并将其保存为 png 文件的问题。

为此,我编写了如下所示的一些代码块。

df = pd.DataFrame({'count' : fdf.groupby(['year','Name']).size()}).reset_index()
df = df.sort_values(['year','count'], ascending=[True,False]).set_index(['year','Name'])
df = df.style.background_gradient(cmap='YlOrRd')
df

这是我的 df

              count
year    Name    
1950    a      3
        b      3
1951    c      3
        d      2
        e      1
...    ...    ...

然后我尝试使用如下所示的这段代码sn-p来保存结果,但没有成功。

plt.figure(figsize=[15, 15])

ax = plt.subplot()
ax.xaxis.set_visible(False)
ax.yaxis.set_visible(False)
table(ax,f1_df_win_season.data)
plt.savefig('images/image1.png')

虽然我可以在 JupyterNotebook 的表格中看到所有变量,但在 png 文件中却看不到。

我该如何解决?

这是我的截图

【问题讨论】:

    标签: python pandas image dataframe


    【解决方案1】:

    我建议使用 matplotlib 'table' 函数创建一个表格,然后将所需的格式设置为背景渐变。

    创建数据框后

    df = pd.DataFrame({'count' : fdf.groupby(['year','Name']).size()}).reset_index()
    df = df.sort_values(['year','count'], ascending=[True,False]).set_index(['year','Name'])
    

    您可以像这样创建(并保存)您的表格

    plt.figure(figsize=[15, 15])
    
    ax = plt.subplot()
    ax.xaxis.set_visible(False)
    ax.yaxis.set_visible(False)
    ax.table(cellText=df.reset_index().values,
            colLabels=df.reset_index().columns,
            loc='center',
            cellLoc='center')
    plt.savefig('image1.png')
    

    您可以在表格函数中添加所有格式(见https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.table.html

    【讨论】:

    • @感谢您的回复。由于 dataframe 中有 366 个值,因此其中一些无法在 image1.png 文件中显示。我该如何解决?
    • 我想将 bbox_inches='tight' 添加到 plt.savefig 会达到目的plt.savefig('image1.png', bbox_inches="tight")
    • 如果你有任何想法,你能看看我的另一个问题吗?这是链接:stackoverflow.com/questions/62761187/…
    • @TonyBrand 您的链接问题已经解决。
    • @Ynjxsjmh 我错误地定义了链接:这是链接:stackoverflow.com/questions/67346024/…
    猜你喜欢
    • 1970-01-01
    • 2022-07-14
    • 1970-01-01
    • 2015-09-02
    • 2020-12-09
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 2017-08-29
    相关资源
    最近更新 更多