2014-09-02 14 views
25

Sono relativamente nuovo nell'utilizzo dell'ID PyCharm e non sono riuscito a trovare un modo per modellare meglio l'output quando si è in una sessione della console integrata. In genere sto lavorando con dataframes piuttosto ampi, che si adattano facilmente al mio monitor, ma il display li sta tagliando e avvolgendo molto prima del necessario.Uscita più ampia nella console integrata di PyCharm

Qualcuno sa di un'impostazione per modificare questo comportamento per sfruttare l'intera larghezza del mio schermo?

Edit: non ho abbastanza reputazione di inviare uno screenshot, ma link è qui sotto: http://imgur.com/iiBK3iU

Vorrei evitare che si avvolge dopo solo un paio di colonne (per esempio, la colonna 'ReadmitRate 'dovrebbe essere immediatamente a destra di' SNFDaysPerSNFCase ')

+0

Non capisco questo problema. Per me, la finestra della console si estende su tutta la larghezza dello schermo. Puoi aggiungere uno screenshot? – TidB

+0

Grazie. Ma per quanto vedo, questo non ha nulla a che fare con la larghezza della console. Chiami 'print' più volte? Se sì, puoi impostare il parametro 'end' su' "" 'che sopprime l'interruzione di riga standard. – TidB

risposta

32

Sembra che mi stavo errando nel pensare che il problema fosse uno in PyCharm (che potrebbe essere risolto, ad esempio, in un'impostazione o preferenza.) In realtà deve fare con la sessione della console stessa. La console tenta di rilevare automaticamente la larghezza dell'area di visualizzazione, ma quando fallisce ha come valore predefinito 80 caratteri. Questo comportamento può essere sovrascritto con:

import pandas as pd 
desired_width = 320  
pd.set_option('display.width', desired_width) 

Dove si può ovviamente impostare il desired_width per qualunque sia il vostro display tollerare. Grazie a @TidB per il suggerimento che la mia preoccupazione iniziale non era focalizzata nell'area giusta.

+0

Devono anche impostare la larghezza per gli array NumPy, vedere la mia risposta. – Contango

7

La risposta di @mattvivier funziona correttamente quando si stampano i datafram di Pandas (grazie!).

Tuttavia, se si stampa array NumPy, è necessario impostare np.set_printoptions così:

import pandas as pd 
import numpy as np 
desired_width = 320 
pd.set_option('display.width', desired_width) 
np.set_printoptions(linewidth=desired_width) 

Vedi docs on NumPy and set_printoptions.

Problemi correlati