有时我想在pandas DataFrame中显示所有行,但仅针对单个命令或代码块.
当然我可以将“max_rows”显示选项设置为一个大数字,但之后我必须重复该命令才能恢复到我的首选设置. (我个人最喜欢12行).
pd.options.display.max_rows=1000
myDF
pd.options.display.max_rows=12
那很烦人.
我在文档中读到,如果我将命令与“with”语句结合使用,我可以使用pd.option_context()函数来完成此操作:
with pd.option_context("display.max_rows", 1000): myDF
我无法让它工作,(没有输出返回).
但我认为这样的解决方案对于日常偶然使用来说仍然会打字过多!
我希望有一些快速的pythonic方式来覆盖显示选项!
有人存在吗?我忽略了什么吗?
我喜欢如何通过为行数传递一个参数来改变.head()函数输出的行数,但它仍然必须低于“display.max_rows”设置…
我知道我可以一直保持“display.max_rows”设置非常高,然后在大部分时间都使用.head(12)功能,但我想大多数人会同意这会有多烦人.
我确实知道可以通过将pandas系列中的值传递给核心函数(如list())来查看所有(或大多数?)值.但这对DF来说很棘手.此外,当它不是表格格式时,很难阅读.
与the solution for my first question类似,我想可能有一种方法可以编写我自己的函数(放在启动脚本中),但我不确定编写它的最佳方法.
解决方法:
您可以编写一个显式调用display
的函数
例如,考虑这个功能:
from IPython.display import display
def show_more(df, lines):
foo = 1
display(df)
foo = 2
当我调用该函数时(刚尝试过):
>> show_more(df, 1000)
... # <- Shows here the DF
然后它显示数据帧,即使之后执行了行foo = 2.接下来你可以设置选项而不是行foo = 1并在行foo = 2中取消设置它.实际上,你可以使用你问题中的上下文管理器.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。