developer tip

판다 : 설정 번호.

copycodes 2020. 9. 7. 08:20
반응형

판다 : 설정 번호. 최대 행 수


다음을 보는 데 문제가 있습니다 DataFrame.

n = 100
foo = DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)
foo

문제는 ipython 노트북에서 기본적으로 모든 행을 인쇄하지 않지만 결과 행을 보려면 슬라이스해야한다는 것입니다. 다음 옵션도 출력을 변경하지 않습니다.

pd.set_option('display.max_rows', 500)

누구든지 전체 어레이를 표시하는 방법을 알고 있습니까?


버전 0.11.0의 경우 display.heightdisplay.max_rows.

pd.set_option('display.height', 500)
pd.set_option('display.max_rows', 500)

을 (를) 참조하십시오 pd.describe_option('display').


개인적으로 iPython 덕분에 탭 완성을 통해 쉽게 찾을 수 있으므로 할당 문으로 직접 옵션을 설정하는 것이 좋습니다. 정확한 옵션 이름이 무엇인지 기억하기 어렵 기 때문에이 방법이 적합합니다.

예를 들어 제가 기억해야 할 것은 pd.options

pd.options.<TAB>

여기에 이미지 설명 입력

대부분의 옵션은 display

pd.options.display.<TAB>

여기에 이미지 설명 입력

여기에서 일반적으로 현재 값이 다음과 같이 출력됩니다.

pd.options.display.max_rows
60

I then set it to what I want it to be:

pd.options.display.max_rows = 100

Also, you should be aware of the context manager for options, which temporarily sets the options inside of a block of code. Pass in the option name as a string followed by the value you want it to be. You may pass in any number of options in the same line:

with pd.option_context('display.max_rows', 100, 'display.max_columns', 10):
    some pandas stuff

You can also reset an option back to its default value like this:

pd.reset_option('display.max_rows')

And reset all of them back:

pd.reset_option('all')

It is still perfectly good to set options via pd.set_option. I just find using the attributes directly is easier and there is less need for get_option and set_option.


As @hanleyhansen noted in a comment, as of version 0.18.1, the display.height option is deprecated, and says "use display.max_rows instead". So you just have to configure it like this:

pd.set_option('display.max_rows', 500)

See the Release Notes — pandas 0.18.1 documentation:

Deprecated display.height, display.width is now only a formatting option does not control triggering of summary, similar to < 0.11.0.


It was already pointed in this comment and in this answer, but I'll try to give a more direct answer to the question:

from IPython.display import display
import numpy as np
import pandas as pd

n = 100
foo = pd.DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)

with pd.option_context("display.max_rows", foo.shape[0]):
    display(foo)

pandas.option_context is available since pandas 0.13.1 (pandas 0.13.1 release notes). According to this,

[it] allow[s] you to execute a codeblock with a set of options that revert to prior settings when you exit the with block.


As in this answer to a similar question, there is no need to hack settings. It is much simpler to write:

print(foo.to_string())

참고 URL : https://stackoverflow.com/questions/16424493/pandas-setting-no-of-max-rows

반응형