nbconvert 多索引数据帧到乳胶

2024-03-07

我正在尝试使用 ipython 的 nbconvert 将多索引 Pandas DataFrame 导出到乳胶 但多索引行结果都是错误的。 我在代码开头使用以下代码来正确转换为乳胶(我在 SO 上的某个地方找到了它,但不记得在哪里):

from sympy import latex
from IPython.display import HTML, Latex, display, Math
pd.set_option('display.notebook_repr_html', True)
def _repr_latex_(self):
    return "\\begin{center} %s \end{center}" % self.to_latex()
pd.DataFrame._repr_latex_ = _repr_latex_  # monkey patch pandas DataFrame

groupby 代码相当大,但我也用较小的代码对其进行了测试,例如:

a = np.array([[1, 3, 4, 5],
             [1, 5, 36, 2],
             [3, 6, 23, 5],
             [2, 2, 1, 6],
             [2, 5, 1, 99]])
df = pd.DataFrame(a, columns=['A','B','C','D'])
df.groupby(by=['A','D']).sum()

这样做的结果是

    \begin{center} \begin{tabular}{lrr}
\toprule
{} &  B &   C \\
A D  &    &     \\
\midrule
1 2  &  5 &  36 \\
  5  &  3 &   4 \\
2 6  &  2 &   1 \\
  99 &  5 &   1 \\
3 5  &  6 &  23 \\
\bottomrule
\end{tabular}
 \end{center}

此示例仅显示第一个问题,此输出将显示多索引堆叠在另一个之上,但我找不到在输出之前对其进行格式化的方法。 (我正在制作许多此类大型表格,因此在乳胶本身上进行格式化会[并且是]一种痛苦)。还有几个多索引,它变得完全不可读。第二个大问题是 Ipython 使用 display() 渲染这个表格,确实很好地调整了屏幕的列宽,但在乳胶上它超出了页面宽度,并且大部分表格都丢失了。

我已经到处寻找更好的 nbconvert 格式化解决方案,但找不到任何东西。如果您也遇到过这个问题,或者您知道这两个问题的解决方案,请告诉我。

pd:我正在使用 python 2.7.7 Anaconda 2.0.1(64 位)以及最新版本的 pandas(0.14.1) 和 ipython(2.2.0)。


我认为这是一个错误to_latex,以及结果res.T.to_latex()看起来也不对劲。

解决方法可能是修改索引:

In [11]: res = df.groupby(by=['A','D']).sum()

In [12]: res.index = res.index.map(lambda x: ' & '.join(map(str, x)))

In [13]: res.index.name = 'A & D'

In [14]: res.columns.values[0] = ' & ' + res.columns[0]

In [15]: print res.to_latex(escape=False)  # the whole point is not to escape the &s
\begin{tabular}{lrr}
\toprule
{} &   & B &   C \\
\midrule
A & D  &       &     \\
1 & 2  &     5 &  36 \\
1 & 5  &     3 &   4 \\
2 & 6  &     2 &   1 \\
2 & 99 &     5 &   1 \\
3 & 5  &     6 &  23 \\
\bottomrule
\end{tabular}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nbconvert 多索引数据帧到乳胶 的相关文章

随机推荐

  • 在 GWT 客户端生成随机代码

    我创建了一个 java gwt 应用程序 我想在其中从客户端验证用户的电子邮件地址 有什么方法可以在客户端生成随机 5 个字符代码 任何形式的帮助将不胜感激 像这样的东西吗 StringBuilder sb new StringBuilde
  • 创建自定义事件 - 对象发送者还是类型发送者?

    我搜索了档案 发现了很多关于发件人是什么以及为什么应该使用该模式的问题 但我没有看到任何有关自定义事件和type如果发件人 假设我正在创建一个名为 Subscription 的自定义类 它实现了 ISubscription 并且我有一些名为
  • removeAllCachedResponses无法清除sharedURLCache?

    我做了一个按钮来清除缓存 NSURLCache sharedURLCache removeAllCachedResponses 完成此操作后 我检查sharedURLCache的大小 NSInteger sizeInteger NSURLC
  • 向 jsTree 添加 jQuery 自定义图像工具提示

    这基本上是后续这个问题 https stackoverflow com questions 7096803 jquery jstree add a tooltip 我正在尝试向 jstree 添加自定义工具提示 如果将鼠标悬停在图像文件上
  • Dapper 和枚举作为字符串

    我正在尝试使用Dapper and Dapper Extensions并序列化我的enums在数据库上为string 现在它们被序列化为整数 在VARCHAR字段 代替 有什么办法可以做到这一点吗 我可以添加任何自定义类型映射吗 如果我不能
  • 将 URI 与 AndroidManifest 中的 相匹配,例如 http://example.com/something

    我正在努力应对
  • 如何使用 WSO2 API Manager 将租户设置为调解器中的标头

    我有一个 API 需要租户作为标头 如果我创建一个自定义顺序
  • laravel查询,多余的行将被插入到表格发票详细信息中。例如FROM表包含6行,执行TO表后将有21行

    ar po id variableAry explode ar foreach variableAry as var1 details11 DB table po estimations gt where po number var1 gt
  • 嵌套角度材质选项卡

    我需要向某些添加动态选项卡User Preferences屏幕 主首选项选项卡可以是具有静态内容的静态选项卡 但第二个选项卡应该嵌套mat tab元素 这些额外的动态首选项来自后端 然后我可以使用 ngFor渲染额外的选项卡 我现在看到的问
  • 处理 CloudKit 错误

    我正在寻找有关在 Swift 中处理 CloudKit 错误的一般建议 但在网上找不到好的示例 这是我想知道的事情 1 每次出现错误的可能性时 我是否应该考虑每种错误类型 或者这实际上没有必要 2 我读到 处理 CloudKit 错误的一种
  • Puppeteer:屏幕截图惰性图像不起作用[重复]

    这个问题在这里已经有答案了 我似乎无法捕获屏幕截图https today line me HK pc https today line me HK pc成功地 在我的 Puppeteer 脚本中 我还启动了滚动到页面底部并再次向上滚动以确保
  • Pandas Dataframe - 值是列表

    我有一个只有一列的 Pandas Dataframe 但每一行的值都是五个元素的列表 如下所示 Column timestamp 06 54 00 1 2 3 4 5 06 55 00 0 5 2 3 4 5 1 3 我想分离数据 以便获得
  • 为什么向量中的分配器是 const ?

    向量在每种类型的构造函数中都有这个 const allocator type alloc allocator type 为什么它是常量 我不明白这有什么用处 我可以看到传入一个分配器 因此多个向量可以共享同一个池 但可以与另一组向量分开 但
  • 像 Matlab 一样的 gnuplot ytics 表示法

    我想设置 ytics 符号 就像这个 Matlab 图 图形框上只有一个 x10 5 一样 是否可以 你当然可以这样做by hand在 gnuplot 中 使用enhanced许多终端的选项并设置label set terminal png
  • 无法理解 a = b = 0 的目的;

    我目前正在阅读 Java 初学者指南 书中的某些地方有一段代码让我感到困惑 但我找不到它的作用的解释 int a int b a b 0 This is the line I don t understand 我所理解的是 0 的值被复制到
  • 如何使数据库大小超过 256 字节 [链接器文件 - MPLAB ]

    我有 PIC18F87J11 系列 并且正在使用 MPLAB C18 编译器 我可以给以下变量的最大字节是多少 我知道我必须修改链接器文件才能达到 256 字节以上 pragma udata CONNECTION TABLE 这是我干净的链
  • Scala 中的执行上下文是什么?

    我是 Scala 新手 正在尝试使用一些并行结构 Future尤其 我发现有一个类型的隐式参数ExecutionContext IMO 它类似于 并且可能比 线程池的概念 我试图通过学习它文档 http docs scala lang or
  • Microsoft UI 自动化教程/参考 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我最近使用 Microsoft Accessibility API 实现了一个程序 但后来被告知新的
  • 使用双重哈希时,最佳的第二哈希函数是什么?

    我在一些人们使用的论坛上看到 7 key mod 7 or 6 key mod 6 这用于为任何大的键值计算双哈希的第二个哈希函数 使用 6 甚至不是素数 或 7 有什么重要性吗 或者它只是随机生成一些值 与线性探测和二次探测不同 参考 h
  • nbconvert 多索引数据帧到乳胶

    我正在尝试使用 ipython 的 nbconvert 将多索引 Pandas DataFrame 导出到乳胶 但多索引行结果都是错误的 我在代码开头使用以下代码来正确转换为乳胶 我在 SO 上的某个地方找到了它 但不记得在哪里 from