Tenho um problema ao visualizar o seguinte DataFrame
:
n = 100
foo = DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)
foo
O problema é que ele não imprime todas as linhas por padrão no bloco de notas ipython, mas eu tenho que cortar para visualizar as linhas resultantes. Mesmo a seguinte opção não altera a saída:
pd.set_option('display.max_rows', 500)
Alguém sabe como exibir toda a matriz?
Respostas:
Conjunto
display.max_rows
:Para versões mais antigas de pandas (<= 0.11.0), você precisa alterar ambos
display.height
edisplay.max_rows
.Veja também
pd.describe_option('display')
.Você pode definir uma opção apenas temporariamente para este momento como este:
Você também pode redefinir uma opção de volta ao seu valor padrão como este:
pd.reset_option('display.max_rows')
E redefina todos eles de volta:
pd.reset_option('all')
fonte
with pd.option_context('display.height', 500, 'display.max_rows', 500):
para definir apenas temporariamente.Pessoalmente, gosto de definir as opções diretamente com uma declaração de atribuição, pois é fácil encontrá-las através do preenchimento de guias, graças ao iPython. Acho difícil lembrar quais são os nomes exatos das opções, portanto esse método funciona para mim.
Por exemplo, tudo o que tenho que lembrar é que começa com
pd.options
A maioria das opções está disponível em
display
A partir daqui, eu normalmente mostro qual é o valor atual:
Em seguida, defino o que quero que seja:
Além disso, você deve estar ciente do gerenciador de contexto para opções, que define temporariamente as opções dentro de um bloco de código. Passe o nome da opção como uma sequência seguida pelo valor que você deseja que seja. Você pode passar qualquer número de opções na mesma linha:
Você também pode redefinir uma opção de volta ao seu valor padrão como este:
E redefina todos eles de volta:
Ainda é perfeitamente bom definir opções via
pd.set_option
. Eu apenas acho que usar os atributos diretamente é mais fácil e há menos necessidade deget_option
eset_option
.fonte
with pd.option_context
é o método mais limpo entre essas respostas; menos efeitos colaterais.Já foi apontado neste comentário e nesta resposta , mas tentarei dar uma resposta mais direta à pergunta:
O pandas.option_context está disponível desde o pandas 0.13.1 ( notas de versão do pandas 0.13.1 ). De acordo com isso ,
fonte
Como o @hanleyhansen observou em um comentário, a partir da versão 0.18.1, a
display.height
opção está obsoleta e diz "usedisplay.max_rows
vez". Então você só precisa configurá-lo assim:Veja as notas de versão - documentação do pandas 0.18.1 :
fonte
Não funciona no Jupyter!
Em vez disso, use:
fonte
Como nesta resposta a uma pergunta semelhante , não há necessidade de hackear configurações. É muito mais simples escrever:
fonte