Atualização: Pandas 0.23.4 em diante
Isso não é necessário, o pandas detecta automaticamente o tamanho da janela do seu terminal, se você definir pd.options.display.width = 0
. (Para versões mais antigas, veja na parte inferior.)
pandas.set_printoptions(...)
está obsoleto. Em vez disso, use pandas.set_option(optname, val)
ou equivalente pd.options.<opt.hierarchical.name> = val
. Gostar:
import pandas as pd
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
Aqui está a ajuda paraset_option
:
set_option (pat, value) - Define o valor da opção especificada
Opções disponíveis:
display. [chop_threshold, colheader_justify, column_space, date_dayfirst,
date_yearfirst, codificação, expand_frame_repr, float_format, height,
line_width, max_columns, max_colwidth, max_info_columns, max_info_rows,
max_rows, max_seq_items, mpl_style, multi_sparse, notebook_repr_html,
pprint_nest_depth, precisão, largura]
[sim_interactive, use_inf_as_null]
Parâmetros
----------
pat - str / regexp que deve corresponder a uma única opção.
Nota: correspondências parciais são suportadas por conveniência, mas a menos que você use o
nome completo da opção (egxyzoption_name), seu código poderá ser quebrado no futuro
versões se novas opções com nomes semelhantes forem introduzidas.
valor - novo valor da opção.
Devoluções
-------
Nenhum
Levanta
------
KeyError se não existir essa opção
display.chop_threshold: [padrão: Nenhum] [atualmente: Nenhum]
: flutuar ou Nenhum
se definido como um valor flutuante, todos os valores flutuantes menores que o limite especificado
será exibido exatamente como 0 por repr e amigos.
display.colheader_justify: [padrão: direita] [atualmente: direita]
: 'esquerda direita'
Controla a justificação dos cabeçalhos das colunas. usado pelo DataFrameFormatter.
display.column_space: [padrão: 12] [atualmente: 12] Nenhuma descrição disponível.
display.date_dayfirst: [padrão: False] [atualmente: False]
: boleano
Quando Verdadeiro, imprime e analisa datas primeiro com o dia, por exemplo, 20/01/2005
display.date_yearfirst: [padrão: False] [atualmente: False]
: boleano
Quando Verdadeiro, imprime e analisa datas primeiro com o ano, por exemplo, 20/01/2005
display.encoding: [padrão: UTF-8] [atualmente: UTF-8]
: str / unicode
O padrão é a codificação detectada do console.
Especifica a codificação a ser usada para cadeias retornadas por to_string,
geralmente são seqüências destinadas a serem exibidas no console.
display.expand_frame_repr: [padrão: True] [atualmente: True]
: boleano
Se deve imprimir a versão completa do DataFrame para grandes DataFrames
através de várias linhas, `max_columns` ainda é respeitado, mas a saída será
envolver várias "páginas" se a largura exceder o `display.width`.
display.float_format: [padrão: Nenhum] [atualmente: Nenhum]
: callable
O chamador deve aceitar um número de ponto flutuante e retornar
uma sequência com o formato desejado do número. Isto é usado
em alguns lugares como SeriesFormatter.
Veja core.format.EngFormatter para um exemplo.
display.height: [padrão: 60] [atualmente: 1000]
: int
Descontinuada.
(Descontinuado, use `display.height`.)
display.line_width: [padrão: 80] [atualmente: 1000]
: int
Descontinuada.
(Descontinuado, use `display.width`.)
display.max_columns: [padrão: 20] [atualmente: 500]
: int
max_rows e max_columns são usados nos métodos __repr __ () para decidir se
to_string () ou info () é usado para renderizar um objeto em uma string. Em caso
python / IPython está sendo executado em um terminal, isso pode ser definido como 0 e pandas
detectará corretamente a largura do terminal e trocará para um menor
formato, caso todas as colunas não se ajustem verticalmente. O notebook IPython,
O IPython qtconsole ou IDLE não é executado em um terminal e, portanto, não é
possível fazer a detecção automática correta.
Valor 'Nenhum' significa ilimitado.
display.max_colwidth: [padrão: 50] [atualmente: 50]
: int
A largura máxima em caracteres de uma coluna no repr de
uma estrutura de dados de pandas. Quando a coluna estourar, um "..."
espaço reservado é incorporado na saída.
display.max_info_columns: [padrão: 100] [atualmente: 100]
: int
max_info_columns é usado no método DataFrame.info para decidir se
por coluna, as informações serão impressas.
display.max_info_rows: [padrão: 1690785] [atualmente: 1690785]
: int ou Nenhum
max_info_rows é o número máximo de linhas para as quais um quadro será
execute uma verificação nula em suas colunas ao reprogramar em um console.
O padrão é 1.000.000 de linhas. Portanto, se um DataFrame tiver mais
1.000.000 de linhas, não haverá verificação nula realizada no
colunas e, portanto, a representação levará muito menos tempo para
exibido em uma sessão interativa. Um valor Nenhum significa sempre
execute uma verificação nula ao repr'ing.
display.max_rows: [padrão: 60] [atualmente: 500]
: int
Isso define o número máximo de linhas que os pandas devem gerar ao imprimir
várias saídas. Por exemplo, esse valor determina se o repr ()
para um quadro de dados imprime totalmente ou apenas um resumo de repr.
Valor 'Nenhum' significa ilimitado.
display.max_seq_items: [padrão: Nenhum] [atualmente: Nenhum]
: int ou Nenhum
ao imprimir bastante uma sequência longa, não mais que `max_seq_items`
será impresso. Se os itens forem omitidos, eles serão indicados pela adição
de "..." para a sequência resultante.
Se definido como Nenhum, o número de itens a serem impressos é ilimitado.
display.mpl_style: [padrão: Nenhum] [atualmente: Nenhum]
: bool
Definir isso como 'padrão' modificará os rcParams usados pelo matplotlib
para dar às plotagens um estilo visual mais agradável por padrão.
Definir como Nenhum / Falso restaura os valores ao seu valor inicial.
display.multi_sparse: [padrão: True] [atualmente: True]
: boleano
exibição MultiIndex "sparsify" (não exibe repetida
elementos em níveis externos dentro de grupos)
display.notebook_repr_html: [padrão: True] [atualmente: True]
: boleano
Quando Verdadeiro, o notebook IPython usará a representação html para
objetos pandas (se estiverem disponíveis).
display.pprint_nest_depth: [padrão: 3] [atualmente: 3]
: int
Controla o número de níveis aninhados a serem processados durante a impressão bonita
display.precision: [padrão: 7] [atualmente: 7]
: int
Precisão de saída de ponto flutuante (número de dígitos significativos). Isto é
apenas uma sugestão
largura de exibição: [padrão: 80] [atualmente: 1000]
: int
Largura da exibição em caracteres. Caso o python / IPython esteja sendo executado em
um terminal que pode ser definido como Nenhum e os pandas detectarão corretamente
largura.
Observe que o notebook IPython, IPython qtconsole ou IDLE não são executados em um
terminal e, portanto, não é possível detectar corretamente a largura.
mode.sim_interactive: [padrão: False] [atualmente: False]
: boleano
Se simular o modo interativo para fins de teste
mode.use_inf_as_null: [padrão: False] [atualmente: False]
: boleano
True significa tratar None, NaN, INF, -INF como nulo (maneira antiga),
False significa Nenhum e NaN são nulos, mas INF, -INF não são nulos.
(novo caminho).
Chame def: pd.set_option (self, * args, ** kwds)
EDIT: informações da versão mais antiga, muito disso foi preterido.
Como o @bmu mencionou , o pandas detecta automaticamente (por padrão) o tamanho da área de exibição, uma exibição resumida será usada quando um repr de objeto não couber no visor. Você mencionou o redimensionamento da janela IDLE, sem efeito. Se o fizer print df.describe().to_string()
, ele se encaixa na janela IDLE?
O tamanho do terminal é determinado por pandas.util.terminal.get_terminal_size()
(descontinuado e removido), isso retorna uma tupla contendo o (width, height)
da exibição. A saída corresponde ao tamanho da sua janela IDLE? Pode haver um problema (havia um antes ao executar um terminal no emacs).
Observe que é possível ignorar a detecção automática, pandas.set_printoptions(max_rows=200, max_columns=10)
nunca mudará para a exibição resumida se o número de linhas e colunas não exceder os limites especificados.
A opção 'max_colwidth' ajuda a visualizar a forma não truncada de cada coluna.
display.height
vez disso ... Estou em um loop morto.pd.options
, por exemplopd.options.display.max_rows = 999
.head()
ou o que for.Tente o seguinte:
A partir da documentação:
Veja: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.set_option.html
fonte
pandas\core\config_init.py
para defini-lo permanentemente.Se você deseja definir opções temporariamente para exibir um DataFrame grande, pode usar option_context :
Os valores das opções são restaurados automaticamente quando você sai do
with
bloco.fonte
None
pode ser usado (em vez de 999, etc.).with pd.option_context('display.max_rows', None, 'display.max_columns', None): print(energy)
não funcionou. Não mudou o número de colunas que eu queria ver. No entanto, a solução da Wouter Overmeiere funcionou.-1
ou500
não Nenhum.max_rows
valor;). Definir'display.max_rows'
-1 parece atrapalhar completamente a formatação (para os meus dados não há falha, mas agora imprime certas linhas várias vezes).Somente o uso dessas 3 linhas funcionou para mim:
Anaconda / Python 3.6.5 / pandas: 0.23.0 / Código do Visual Studio 1.26
fonte
Defina a largura máxima da coluna usando:
Esta instrução específica define a largura máxima para 800px, por coluna.
fonte
display.max_colwidth
? É assim que está listado na documentação. Concordo que sómax_colwidth
funciona e é mais curto para escrever, mas fiquei surpreso.Você pode usar
print df.describe().to_string()
para forçá-lo a mostrar a tabela inteira. (Você pode usarto_string()
assim para qualquer DataFrame. O resultadodescribe
é apenas um DataFrame em si.)O 8 é o número de linhas no DataFrame que contém a "descrição" (porque
describe
calcula 8 estatísticas, min, max, média etc.).fonte
Você pode ajustar as opções de impressão dos pandas com
set_printoptions
.No entanto, isso não funcionará em todos os casos, pois o pandas detecta a largura do console e será usado apenas
to_string
se a saída couber no console (consulte a documentação deset_printoptions
). Nesse caso, você pode ligar explicitamenteto_string
como respondido pelo BrenBarn .Atualizar
Com a versão 0.10, a maneira como os quadros de dados amplos são impressos mudou :
Além disso, a API para definir as opções de pandas mudou:
fonte
Você pode definir a exibição da saída para corresponder à sua largura atual do terminal:
fonte
pd.set_option('display.width', None)
em um terminal, "os pandas detectarão corretamente a largura" .pd.options.display.width = None
pd.io.formats.terminal.get_terminal_size()
De acordo com a documentação da v0.18.0 , se você estiver rodando em um terminal (por exemplo, não o notebook iPython, qtconsole ou IDLE), é um liner de duas linhas que o Pandas detecte automaticamente a largura da tela e se adapte rapidamente com quantas colunas que mostra:
fonte
Parece que todas as respostas acima resolvem o problema. Mais um ponto: em vez de
pd.set_option('option_name')
, você pode usar o (capacidade de conclusão automática)Consulte o documento do Pandas: Opções e configurações:
[...]
para os
max_...
parâmetros:para o
width
param:fonte
Resultado:
fonte
Usei essas configurações quando a escala de dados é alta.
Você pode consultar a documentação aqui
fonte
A linha abaixo é suficiente para exibir todas as colunas do quadro de dados.
pd.set_option('display.max_columns', None)
fonte
pd.set_option('display.max_columns', 0)
Quais são os seus benefícios?Se você não quiser mexer com suas opções de exibição e apenas quiser ver esta lista específica de colunas sem expandir todos os quadros de dados visualizados, tente:
fonte
Você também pode tentar em um loop:
fonte
Você pode simplesmente executar as seguintes etapas,
Você pode alterar as opções do recurso max_columns do pandas da seguinte maneira
(isso permite que 10 colunas sejam exibidas, você pode alterar isso conforme necessário)
Dessa forma, você pode alterar o número de linhas conforme necessário, da seguinte forma (se precisar alterar o máximo de linhas)
(isso permite imprimir 999 linhas por vez)
Consulte o documento para alterar diferentes opções / configurações para pandas
fonte