如何设置熊猫数据帧的IPython html显示格式,以便
据我所知,numpy
有设施set_printoptions
,我可以这样做:
int_frmt:lambda x : '{:,}'.format(x)
np.set_printoptions(formatter={'int_kind':int_frmt})
对于其他数据类型也是如此。
但是在以html显示数据框时,IPython不会选择这些格式选项。我仍然需要
pd.set_option('display.notebook_repr_html', True)
但上面有1,2,3。
编辑: 以下是我针对2和3的解决方案(不确定这是最好的方法),但是我仍然需要弄清楚如何使数字列正确。
from IPython.display import HTML
int_frmt = lambda x: '{:,}'.format(x)
float_frmt = lambda x: '{:,.0f}'.format(x) if x > 1e3 else '{:,.2f}'.format(x)
frmt_map = {np.dtype('int64'):int_frmt, np.dtype('float64'):float_frmt}
frmt = {col:frmt_map[df.dtypes[col]] for col in df.columns if df.dtypes[col] in frmt_map.keys()}
HTML(df.to_html(formatters=frmt))
HTML接收html数据的自定义字符串。没有人禁止您传入带有自定义CSS样式的样式标签.dataframe
(该to_html
方法将其添加到表中)。
因此,最简单的解决方案是仅添加样式并将其与的输出连接df.to_html
:
style = '<style>.dataframe td { text-align: right; }</style>'
HTML( style + df.to_html( formatters=frmt ) )
但我建议为DataFrame定义一个自定义类,因为这将更改笔记本中所有表的样式(样式为“全局”)。
style = '<style>.right_aligned_df td { text-align: right; }</style>'
HTML(style + df.to_html(formatters=frmt, classes='right_aligned_df'))
您还可以在前面的单元格之一中定义样式,然后只需设置方法的classes
参数即可to_html
:
# Some cell at the begining of the notebook
In [2]: HTML('''<style>
.right_aligned_df td { text-align: right; }
.left_aligned_df td { text-align: right; }
.pink_df { background-color: pink; }
</style>''')
...
# Much later in your notebook
In [66]: HTML(df.to_html(classes='pink_df'))
主要内容:get_option(),set_option(),reset_option(),describe_option(),option_context(),常用参数项在用 Pandas 做数据分析的过程中,总需要打印数据分析的结果,如果数据体量较大就会存在输出内容不全(部分内容省略)或者换行错误等问题。Pandas 为了解决上述问题,允许你对数据显示格式进行设置。下面列出了五个用来设置显示格式的函数,分别是: get_option() set_option() reset_option()
我们用PHP可var_dump如下的数据: 请问下,是否有一些格式化的方式把它给格式化显示一下呢?比如我们知道对json可用json.cn来展示内容。 搜索没答案。
问题内容: 这是我的数据框,应重复5次: 我想要这样的结果: 但是必须有一种比保持追加更聪明的方法。实际上,Im正在处理的数据帧应重复50次。 我还没有发现任何实用的东西,包括类似-—的东西,但它在数据框架上不起作用。 有人可以帮忙吗? 问题答案: 您可以使用以下功能: 如果只想重复值而不是索引,则可以执行以下操作:
问题内容: 我正在尝试在IPython笔记本中写论文,但是在显示格式方面遇到了一些问题。说我有以下dataframe ,有什么方法可以格式化并转换为2位小数并转换为百分比。 内部数字不乘以100,例如-0.0057 = -0.57%。 问题答案: 使用round函数替换值,并格式化百分比数字的字符串表示形式: 舍入函数将浮点数舍入为该函数的第二个参数提供的小数位数。 字符串格式可让您根据需要表示数
问题内容: 我有一个包含数百列的数据框,我需要查看所有列名称。 我做了什么: 输出为: 如何显示 所有 列,而不是截断的列表? 问题答案: 您可以全局设置打印选项。我认为这应该工作: 方法1: 方法2: 这样您就可以在执行操作时查看所有列名称和行。列名都不会被截断。 如果只想查看列名,可以执行以下操作:
问题内容: 这听起来可能是个菜鸟问题,但由于Python不是我最好的语言之一,所以我坚持使用它。 我有一个html页面,里面有一个表格,我想在其中显示一个pandas数据框。最好的方法是什么?使用pandasdataframe.to_html? py html 问题答案: 工作示例: python代码: HTML: 否则使用 并从html中删除行 如果您检查html上的元素 如您所见,表格html