如何在Python中保存dataframe表?

如何在Python中保存dataframe表?,python,pandas,image,dataframe,Python,Pandas,Image,Dataframe,我有一个关于将dataframe放入表并将其保存为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_gra

我有一个关于将dataframe放入表并将其保存为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
...    ...    ...
然后我尝试使用下面所示的代码片段来保存结果,但没有成功

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文件中看不到它

我怎样才能修好它

这是我的截图


我建议使用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')

您可以在table函数中添加所有格式(请参阅)

@谢谢您的回复。由于dataframe中有366个值,其中一些值无法显示在image1.png文件中。我如何修复它呢?我想在plt.savefig中添加bbox_inches='tight'就可以了
plt.savefig('image1.png',bbox_inches='tight')
如果你有任何想法,你能看看我的另一个问题吗?这是链接:@TonyBrand您链接的问题已经解决了。@Ynjxsjmh我错误地定义了链接:这是链接: