我构建了一个结果的熊猫数据框.此数据框充当表.有MultiIndexed列,每行代表一个名称,即index=['name1','name2',...]创建DataFrame时.我想显示这个表并将其保存为png(或任何图形格式).目前,我能得到的最接近的是将其转换为html,但我想要一个png.看起来有类似的问题,如如何将Pandas数据帧/系列数据保存为数字?
但是,标记的解决方案将数据帧转换为线图(而不是表格),而另一个解决方案依赖于PySide,我只想因为无法将其安装在Linux上而远离它.我希望这段代码易于移植.我真的希望使用python可以轻松创建表格.所有帮助表示赞赏.
这似乎是一个无用的功能,但它对我非常有帮助.我想保存Canopy IDE中的输出.我不认为这是Canopy特有的,但为了清楚起见,这就是我使用的.例如,我的控制台Out [2]是我想要的:

我认为格式化非常好并且每次重现这一点而不仅仅是保存输出将是浪费时间.所以我的问题是,我怎样才能掌握这个数字呢?理想情况下,实施方式与标准方法类似,因此可以这样做:
from matplotlib.backends.backend_pdf import PdfPages
pp = PdfPages('Output.pdf')
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
df.plot(how='table')
pp.savefig()
pp.close()
Run Code Online (Sandbox Code Playgroud)
注意:我意识到之前已经问过一个非常类似的问题(如何将Pandas数据帧/系列数据保存为数字?)但它从未收到答案,我想我已经更清楚地说明了这个问题.
在jupyter笔记本中运行时,下面的代码呈现一个颜色渐变格式的表,我想将其导出到图像文件.
笔记本呈现的结果"styled_table"对象是pandas.io.formats.style.Styler类型.
我一直无法找到将Styler导出到图像的方法.
我希望有人可以分享一个出口的工作示例,或者给我一些指示.
import pandas as pd
import seaborn as sns
data = {('count', 's25'):
{('2017-08-11', 'Friday'): 88.0,
('2017-08-12', 'Saturday'): 90.0,
('2017-08-13', 'Sunday'): 93.0},
('count', 's67'):
{('2017-08-11', 'Friday'): 404.0,
('2017-08-12', 'Saturday'): 413.0,
('2017-08-13', 'Sunday'): 422.0},
('count', 's74'):
{('2017-08-11', 'Friday'): 203.0,
('2017-08-12', 'Saturday'): 227.0,
('2017-08-13', 'Sunday'): 265.0},
('count', 's79'):
{('2017-08-11', 'Friday'): 53.0,
('2017-08-12', 'Saturday'): 53.0,
('2017-08-13', 'Sunday'): 53.0}}
table = pd.DataFrame.from_dict(data)
table.sort_index(ascending=False, inplace=True)
cm = sns.light_palette("seagreen", as_cmap=True)
styled_table = table.style.background_gradient(cmap=cm)
styled_table
Run Code Online (Sandbox Code Playgroud)
当我学习python和这个有趣的绘图库时,我开始使用matplotlib渲染绘图.对于我正在处理的问题,我需要帮助自定义绘图.可能已经有了内置功能.
问题:我试图绘制一个表格(矩形)作为一个包含96个单独单元格(8行X 12列)的图表.使用特定颜色为每个替代单元着色(如棋盘:而不是黑/白我将使用其他颜色组合)并从pandas数据框或python字典为每个单元插入值.在侧面显示col和row标签.
示例数据:http: //pastebin.com/N4A7gWuH
我希望情节看起来像这样取代numpy/pandas ds中的单元格中的值.
示例图:http: //picpaste.com/sample-E0DZaoXk.png
感谢您的意见.
PS:在mathplotlib的邮件列表上发布了相同的内容
我pandas DataFrame使用matplotlib(from this answer)绘制了一个表格。
现在我想设置给定行的底部边缘颜色,我有这个代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import six
df = pd.DataFrame()
df['date'] = ['2016-04-01', '2016-04-02', '2016-04-03', '2016-04-04']
df['calories'] = [2200, 2100, 1500, 1800]
df['sleep hours'] = [2200, 2100, 1500, 1500]
df['gym'] = [True, False, False, True]
def render_mpl_table(data, col_width=3.0, row_height=0.625, font_size=14,
header_color='#40466e', row_colors=['#f1f1f2', 'w'], edge_color='w',
bbox=[0, 0, 1, 1], header_columns=0,
ax=None, **kwargs):
if ax is None:
size = (np.array(data.shape[::-1]) + np.array([0, 1])) …Run Code Online (Sandbox Code Playgroud)