Jak rozwinąć ekran wyjściowy, aby zobaczyć więcej kolumn pandy DataFrame?


622

Czy istnieje sposób na rozszerzenie wyświetlania wyniku w trybie interaktywnym lub w trybie wykonywania skryptu?

W szczególności używam tej describe()funkcji na pandach DataFrame. Kiedy DataFrameszerokość wynosi 5 kolumn (etykiet), otrzymuję opisowe statystyki, które chcę. Jeśli jednak DataFramema więcej kolumn, statystyki są pomijane i zwracane jest coś takiego:

>> Index: 8 entries, count to max  
>> Data columns:  
>> x1          8  non-null values  
>> x2          8  non-null values  
>> x3          8  non-null values  
>> x4          8  non-null values  
>> x5          8  non-null values  
>> x6          8  non-null values  
>> x7          8  non-null values  

Wartość „8” jest podawana niezależnie od tego, czy jest 6 czy 7 kolumn. Do czego odnosi się „8”?

Próbowałem już przeciągać okno IDLE większe, a także zwiększać opcje szerokości „Konfiguruj IDLE”, ale bezskutecznie.

Moim celem jest używanie pand i describe()unikanie korzystania z drugiego programu, takiego jak Stata, do wykonywania podstawowych operacji na danych i ich badania.

Odpowiedzi:


885

Aktualizacja: Panda 0.23.4 i nowsze

Nie jest to konieczne, jeśli panda automatycznie wykryje rozmiar okna terminala, jeśli zostanie ustawiony pd.options.display.width = 0. (W przypadku starszych wersji patrz na dole).

pandas.set_printoptions(...)jest przestarzałe. Zamiast tego użyj pandas.set_option(optname, val)lub równoważnie pd.options.<opt.hierarchical.name> = val. Lubić:

import pandas as pd
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)

Oto pomoc dlaset_option :

set_option (pat, value) - Ustawia wartość określonej opcji

Dostępne opcje:
display. [chop_threshold, colheader_justify, column_space, date_dayfirst,
         date_yearfirst, kodowanie, expand_frame_repr, float_format, height,
         szerokość_wiersza, maks_kolumny, maks ._kolumna, maks ._katalogu, maks.
         max_rows, max_seq_items, mpl_style, multi_sparse, notebook_repr_html,
         pprint_nest_depth, precyzja, szerokość]
tryb. [sim_interactive, use_inf_as_null]

Parametry
----------
pat - str / regexp, który powinien pasować do jednej opcji.

Uwaga: dopasowania częściowe są obsługiwane dla wygody, ale chyba że używasz
pełna nazwa opcji (egxyzoption_name), twój kod może się zepsuć w przyszłości
wersje, jeśli zostaną wprowadzone nowe opcje o podobnych nazwach.

wartość - nowa wartość opcji.

Zwroty
-------
Żaden

Podnosi
------
KeyError, jeśli taka opcja nie istnieje

display.chop_threshold: [domyślnie: brak] [obecnie: brak]
: float lub None
        jeśli ustawione na wartość zmiennoprzecinkową, wszystkie wartości zmiennoprzecinkowe są mniejsze niż podany próg
        będą wyświetlane jako dokładnie 0 przez repr i znajomych.
display.colheader_justify: [default: right] [obecnie: right]
: 'Lewo prawo'
        Kontroluje justowanie nagłówków kolumn. używane przez DataFrameFormatter.
display.column_space: [domyślnie: 12] [obecnie: 12] Brak opisu.

display.date_dayfirst: [default: False] [obecnie: False]
: boolean
        W przypadku wartości True drukowane i analizowane są daty pierwszego dnia, np. 20/01/2005
display.date_yearfirst: [default: False] [obecnie: False]
: boolean
        W przypadku wartości True drukowane i analizowane są daty z pierwszym rokiem, np. 2005/01/20
display.encoding: [domyślnie: UTF-8] [obecnie: UTF-8]
: str / Unicode
        Domyślnie wykryte kodowanie konsoli.
        Określa kodowanie, które ma być używane dla ciągów zwracanych przez to_string,
        są to na ogół ciągi znaków, które mają być wyświetlane na konsoli.
display.expand_frame_repr: [default: True] [obecnie: True]
: boolean
        Czy wydrukować pełną wersję DataFrame dla szerokich ramek DataFrame
        w wielu wierszach ciąg „max_columns” jest nadal przestrzegany, ale wynik będzie
        zawijać na wielu „stronach”, jeśli jego szerokość przekracza „display.width”.
display.float_format: [domyślnie: Brak] [obecnie: Brak]
: na żądanie
        Odwołanie powinno zaakceptować liczbę zmiennoprzecinkową i powrócić
        ciąg o żądanym formacie liczby. To jest używane
        w niektórych miejscach, takich jak SeriesFormatter.
        Zobacz core.format.EngFormatter na przykład.
display.height: [domyślnie: 60] [obecnie: 1000]
: int
        Przestarzałe.
        (Przestarzałe, zamiast tego użyj `display.height`.)

display.line_width: [domyślnie: 80] [obecnie: 1000]
: int
        Przestarzałe.
        (Przestarzałe, zamiast tego użyj `display.width`.)

display.max_columns: [domyślnie: 20] [obecnie: 500]
: int
        max_rows i max_columns są używane w metodach __repr __ (), aby zdecydować, czy
        To_string () lub info () służy do renderowania obiektu na łańcuch. W razie
        Python / IPython działa w terminalu, można ustawić na 0 i pandy
        prawidłowo wykryje szerokość terminala i zamieni na mniejsze
        format na wypadek, gdyby wszystkie kolumny nie pasowały pionowo. Notatnik IPython,
        IPython qtconsole lub IDLE nie działają w terminalu i dlatego tak nie jest
        możliwe wykonanie prawidłowego automatycznego wykrywania.
        „Brak” oznacza nieograniczony.
display.max_colwidth: [domyślnie: 50] [obecnie: 50]
: int
        Maksymalna szerokość znaków w kolumnie w repr
        struktura danych pand. Gdy kolumna się przepełnia, „...”
        symbol zastępczy jest osadzony w wyjściu.
display.max_info_columns: [domyślnie: 100] [obecnie: 100]
: int
        Metoda max_info_columns jest używana w metodzie DataFrame.info w celu podjęcia decyzji, czy
        informacje w kolumnie zostaną wydrukowane.
display.max_info_rows: [domyślnie: 1690785] [obecnie: 1690785]
: int lub None
        max_info_rows to maksymalna liczba wierszy, dla których zrobi to ramka
        podczas sprawdzania w konsoli wykonaj zerowanie kolumn.
        Domyślnie jest to 1 000 000 wierszy. Więc jeśli DataFrame ma więcej
        1 000 000 wierszy nie będzie przeprowadzana kontrola zerowa na
        kolumny, a zatem reprezentacja zajmie znacznie mniej czasu
        wyświetlać w interaktywnej sesji. Wartość Brak oznacza zawsze
        podczas sprawdzania zeruj.
display.max_rows: [domyślnie: 60] [obecnie: 500]
: int
        Ustawia to maksymalną liczbę wierszy, które pandy powinny wydrukować
        z różnych wyników. Na przykład ta wartość określa, czy repr ()
        dla ramki danych jest drukowane w całości lub tylko repr.
        „Brak” oznacza nieograniczony.
display.max_seq_items: [domyślnie: brak] [obecnie: brak]
: int lub None

        przy ładnym drukowaniu długiej sekwencji, nie więcej niż `max_seq_items`
        zostanie wydrukowany. Jeśli przedmioty zostaną pominięte, zostaną oznaczone przez dodanie
        z „...” na wynikowy ciąg.

        Jeśli ustawiono na Brak, liczba elementów do wydrukowania jest nieograniczona.
display.mpl_style: [domyślnie: brak] [obecnie: brak]
: bool

        Ustawienie tej wartości na „default” spowoduje modyfikację rcParams używanych przez matplotlib
        aby domyślnie nadać działkom bardziej przyjemny styl wizualny.
        Ustawienie tej wartości na Brak / Fałsz przywraca wartości do wartości początkowej.
display.multi_sparse: [default: True] [obecnie: True]
: boolean
        „sparsify” wyświetlacz MultiIndex (nie wyświetla się powtórnie
        elementy na poziomach zewnętrznych w ramach grup)
display.notebook_repr_html: [domyślnie: prawda] [obecnie: prawda]
: boolean
        W przypadku wartości True notatnik IPython będzie używał reprezentacji HTML dla
        obiekty pand (jeśli są dostępne).
display.pprint_nest_depth: [domyślnie: 3] [obecnie: 3]
: int
        Kontroluje liczbę zagnieżdżonych poziomów do przetworzenia przy ładnym drukowaniu
display.precision: [domyślnie: 7] [obecnie: 7]
: int
        Dokładność wyjścia zmiennoprzecinkowego (liczba cyfr znaczących). To jest
        tylko sugestia
display.width: [default: 80] [obecnie: 1000]
: int
        Szerokość wyświetlacza w znakach. W przypadku, gdy działa Python / IPython
        terminal może być ustawiony na Brak, a pandy poprawnie wykryją automatycznie
        szerokość.
        Uwaga: Notatnik IPython, qytconsole IPython lub IDLE nie działają w trybie
        terminal i dlatego nie jest możliwe prawidłowe wykrycie szerokości.
mode.sim_interactive: [default: False] [obecnie: False]
: boolean
        Czy symulować tryb interaktywny do celów testowych
mode.use_inf_as_null: [default: False] [obecnie: False]
: boolean
        Prawda oznacza traktowanie None, NaN, INF, -INF jako null (stary sposób),
        False oznacza, że ​​None i NaN są zerowe, ale INF, -INF nie są zerowe
        (nowy sposób).
Wywołanie def: pd.set_option (self, * args, ** kwds)

EDYCJA: informacje o starszej wersji, większość z nich jest przestarzała.

Jak wspomniano @bmu , pandy automatycznie wykrywają (domyślnie) rozmiar obszaru wyświetlania, widok podsumowania zostanie użyty, gdy repr obiektu nie zmieści się na ekranie. Wspomniałeś o zmianie rozmiaru okna IDLE, bez żadnego efektu. Jeśli tak, print df.describe().to_string()czy pasuje to do okna IDLE?

Rozmiar terminala jest określony przez pandas.util.terminal.get_terminal_size()(przestarzałe i usunięte), zwraca to krotkę zawierającą (width, height)wyświetlacz. Czy wyjście odpowiada rozmiarowi twojego okna IDLE? Może występować problem (był wcześniej jeden podczas uruchamiania terminala w emacsie).

Pamiętaj, że można ominąć autodetekcję, pandas.set_printoptions(max_rows=200, max_columns=10)nigdy nie przejdzie do widoku podsumowania, jeśli liczba wierszy, kolumn nie przekroczy podanych limitów.


Opcja „max_colwidth” pomaga zobaczyć nieskalowaną formę każdej kolumny.

TruncatedColumnDisplay


4
display.height: przestarzałe, użyj display.heightzamiast tego ... Jestem w martwej pętli.
Frozen Flame

5
W dzisiejszych czasach opcje można również ustawić jako przypisania do atrybutówpd.options , np.pd.options.display.max_rows = 999
unutbu

2
Właściwość „display.height” jest nieaktualna.
Greg M. Krsak

2
Nie działało dla mnie w Pandas 0.23.2.
devinbost

6
Możesz użyć opcji opcje_kontekst, aby zmiany opcji były lokalne dla rzeczy, z którą pracujesz. Zapobiega to przypadkowemu wydrukowaniu 400 stron śmieci podczas następnego połączenia .head()lub czegoś innego.
Mike Williamson,

195

Spróbuj tego:

pd.set_option('display.expand_frame_repr', False)

Z dokumentacji:

display.expand_frame_repr: boolean

Niezależnie od tego, czy wydrukować pełne powtórzenie DataFrame dla szerokich ramek DataFrame w wielu wierszach, parametr max_columns jest nadal przestrzegany, ale wynik będzie zawijał się na wielu „stronach”, jeśli jego szerokość przekroczy szerokość display.width. [domyślnie: prawda] [obecnie: prawda]

Zobacz: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.set_option.html


6
Ten działa dla mnie. Wygląda na to, że pandy z jakiegoś powodu źle obliczają szerokość wyjściową i niepotrzebnie łamią kolumny.
zbyszek

5
Dosłownie muszę to robić codziennie ... Czy jest jakiś sposób, aby ustawić to gdzieś na całym świecie?
citynorman

1
@citynorman zobaczyć, pandas\core\config_init.pyaby go ustawić na stałe.
Jarad

106

Jeśli chcesz tymczasowo ustawić opcje wyświetlania jednej dużej ramki danych, możesz użyć opcji_kontekst :

with pd.option_context('display.max_rows', None, 'display.max_columns', None):
    print (df)

Wartości opcji są przywracane automatycznie po wyjściu z withbloku.


3
Aby ustawić brak limitów, Nonemożna użyć (zamiast 999 itd.).
Eric O Lebigot,

5
with pd.option_context('display.max_rows', None, 'display.max_columns', None): print(energy)nie działało Nie zmieniło to liczby kolumn, które chciałem zobaczyć. Jednak rozwiązanie Woutera Overmeiere działało.
Aziz Javed,

Ale jest różnica, potrzebują takiego numeru -1lub 500, nie None.
jezrael

2
Używanie -1 ulega awarii, a 500 też nic nie zrobiło
Aziz Javed

1
+1 za sugerowanie menedżera kontekstu, ale -1 za max_rowswartość;). Ustawienie 'display.max_rows'-1 wydaje się całkowicie popsuć formatowanie (dla moich danych nie ma awarii, ale teraz drukuje pewne wiersze wiele razy).
bluenote10,

87

Tylko użycie tych 3 linii działało dla mnie:

pd.set_option('display.max_columns', None)  
pd.set_option('display.expand_frame_repr', False)
pd.set_option('max_colwidth', -1)

Anaconda / Python 3.6.5 / panda: 0.23.0 / Visual Studio Code 1.26


54

Ustaw maksymalną szerokość kolumny za pomocą:

pd.set_option('max_colwidth', 800)

Ta konkretna instrukcja ustawia maksymalną szerokość na 800 pikseli na kolumnę.


2
Przewijanie w dół w kolejności malejącej głosowania, jest to pierwsza odpowiedź, która działała dla mnie, aby uzyskać pandy, które nie obcinają wyjściowego tekstu DataFrames. (pandy 0.22, iTerm2 3.0.13, OS X 10.12).
Peter Leimbigler,

2
To jedyny, który pracował dla mnie dla Pandas 0.23.2.
devinbost

1
Dlaczego nie musiałeś tego określać display.max_colwidth? Tak to jest wymienione w dokumentacji. Zgadzam się, że tylko max_colwidthdziała i jest krótszy do napisania, ale byłem zaskoczony.
cmo

26

Możesz użyć tej opcji, print df.describe().to_string()aby wymusić wyświetlenie całego stołu. (Możesz użyć to_string()tego w dowolny sposób dla DataFrame. Wynikiem describejest tylko sama DataFrame.)

Liczba 8 to liczba wierszy w ramce danych zawierającej „opis” (ponieważ describeoblicza 8 statystyk, min, maks, średnią itp.).


26

Możesz dostosować opcje drukowania pand za pomocą set_printoptions.

In [3]: df.describe()
Out[3]: 
<class 'pandas.core.frame.DataFrame'>
Index: 8 entries, count to max
Data columns:
x1    8  non-null values
x2    8  non-null values
x3    8  non-null values
x4    8  non-null values
x5    8  non-null values
x6    8  non-null values
x7    8  non-null values
dtypes: float64(7)

In [4]: pd.set_printoptions(precision=2)

In [5]: df.describe()
Out[5]: 
            x1       x2       x3       x4       x5       x6       x7
count      8.0      8.0      8.0      8.0      8.0      8.0      8.0
mean   69024.5  69025.5  69026.5  69027.5  69028.5  69029.5  69030.5
std       17.1     17.1     17.1     17.1     17.1     17.1     17.1
min    69000.0  69001.0  69002.0  69003.0  69004.0  69005.0  69006.0
25%    69012.2  69013.2  69014.2  69015.2  69016.2  69017.2  69018.2
50%    69024.5  69025.5  69026.5  69027.5  69028.5  69029.5  69030.5
75%    69036.8  69037.8  69038.8  69039.8  69040.8  69041.8  69042.8
max    69049.0  69050.0  69051.0  69052.0  69053.0  69054.0  69055.0

Jednak nie będzie to działać we wszystkich przypadkach, ponieważ pandy wykrywają szerokość konsoli i będą używane tylko to_stringwtedy, gdy dane wyjściowe mieszczą się w konsoli (patrz dokumentacja set_printoptions). W takim przypadku możesz jawnie zadzwonić to_stringzgodnie z odpowiedzią BrenBarn .

Aktualizacja

W wersji 0.10 drodze szerokie dataframes są drukowane zmieniło :

In [3]: df.describe()
Out[3]: 
                 x1            x2            x3            x4            x5  \
count      8.000000      8.000000      8.000000      8.000000      8.000000   
mean   59832.361578  27356.711336  49317.281222  51214.837838  51254.839690   
std    22600.723536  26867.192716  28071.737509  21012.422793  33831.515761   
min    31906.695474   1648.359160     56.378115  16278.322271     43.745574   
25%    45264.625201  12799.540572  41429.628749  40374.273582  29789.643875   
50%    56340.214856  18666.456293  51995.661512  54894.562656  47667.684422   
75%    75587.003417  31375.610322  61069.190523  67811.893435  76014.884048   
max    98136.474782  84544.484627  91743.983895  75154.587156  99012.695717   

                 x6            x7  
count      8.000000      8.000000  
mean   41863.000717  33950.235126  
std    38709.468281  29075.745673  
min     3590.990740   1833.464154  
25%    15145.759625   6879.523949  
50%    22139.243042  33706.029946  
75%    72038.983496  51449.893980  
max    98601.190488  83309.051963  

Ponadto zmieniono interfejs API do ustawiania opcji pand:

In [4]: pd.set_option('display.precision', 2)

In [5]: df.describe()
Out[5]: 
            x1       x2       x3       x4       x5       x6       x7
count      8.0      8.0      8.0      8.0      8.0      8.0      8.0
mean   59832.4  27356.7  49317.3  51214.8  51254.8  41863.0  33950.2
std    22600.7  26867.2  28071.7  21012.4  33831.5  38709.5  29075.7
min    31906.7   1648.4     56.4  16278.3     43.7   3591.0   1833.5
25%    45264.6  12799.5  41429.6  40374.3  29789.6  15145.8   6879.5
50%    56340.2  18666.5  51995.7  54894.6  47667.7  22139.2  33706.0
75%    75587.0  31375.6  61069.2  67811.9  76014.9  72039.0  51449.9
max    98136.5  84544.5  91744.0  75154.6  99012.7  98601.2  83309.1

Wolę używać metody max_columns wspomnianej przez lodagro, ale cieszę się, że wspomniałeś słowo kluczowe precyzja, ponieważ pomoże to wyczyścić wyświetlane statystyki. Dzięki!
buraki

22

Możesz ustawić wyświetlanie wyjściowe tak, aby pasowało do bieżącej szerokości terminala:

pd.set_option('display.width', pd.util.terminal.get_terminal_size()[0])

6
@ wouter-overmeire mówi, że pandy robią to automatycznie , ale wydaje się, że tak nie jest, przynajmniej nie w przypadku 0.18.0. Jeśli jednak użyjesz go pd.set_option('display.width', None)w terminalu, „pandy poprawnie automatycznie wykryją szerokość” .
Matthias Fripp

Dokładnie! Nie robi tego domyślnie. Ustawienie na Brak, po prostu ignoruje szerokość. Może to błąd w Pandach, a może ma to związek z terminalem gnomów? Dzięki Wilfred Hughes!
danger89

3
AttributeError: moduł „pandas.util” nie ma atrybutu „terminal”
Bhishan Poudel

1
@BhishanPoudel Możesz to zrobić zamiast:pd.options.display.width = None
SebMa

1
@BhishanPoudel Ta odpowiedź ma kilka lat i napotkałem ten sam problem co ty. W chwili pisania tego, używając pand w wersji 0.23.1, moduł jest terazpd.io.formats.terminal.get_terminal_size()
Ajay

13

Zgodnie z dokumentacją v0.18.0 , jeśli używasz terminala (tj. Nie iPython notebook, qtconsole lub IDLE), to 2-liniowy program Pandas automatycznie wykrywa szerokość ekranu i dostosowuje się w locie z ilu kolumny, które pokazuje:

pd.set_option('display.large_repr', 'truncate')
pd.set_option('display.max_columns', 0)

1
To zadziałało dla mnie, dziękuję! Korzystam z Pandas 0.22.0 (najnowszy z 8 lutego 2018 r.) Za pomocą wbudowanej aplikacji Terminal w systemie OS X 10.11.6
Greg Sadetsky

8

Wygląda na to, że wszystkie powyższe odpowiedzi rozwiązują problem. Jeszcze jeden punkt: zamiast pd.set_option('option_name')możesz użyć opcji (autouzupełnianie)

pd.options.display.width = None

Zobacz dokument Pandas: Opcje i ustawienia:

Opcje mają pełną nazwę „kropkowaną”, bez rozróżniania wielkości liter (np display.max_rows.). Możesz uzyskać / ustawić opcje bezpośrednio jako atrybuty najwyższego poziomuoptions :

In [1]: import pandas as pd

In [2]: pd.options.display.max_rows
Out[2]: 15

In [3]: pd.options.display.max_rows = 999

In [4]: pd.options.display.max_rows
Out[4]: 999

[...]

dla max_... :

max_rowsi max_columnssą używane w __repr__()metodach decydujących, czy to_string()lub info()jest używany do renderowania obiektu na łańcuch. W przypadku, gdy Python / IPython działa w terminalu, można ustawić na 0, a pandy poprawnie automatycznie wykrywają szerokość terminala i zamieniają na mniejszy format, na wypadek gdyby wszystkie kolumny nie pasowały pionowo. Notatnik IPython, IPython qtconsole lub IDLE nie działają w terminalu, a zatem nie można wykonać prawidłowego automatycznego wykrywania. None ” Oznacza wartość nieograniczona. [podkreślenie nie w oryginale]

dla width param:

Szerokość wyświetlacza w znakach. W przypadku, gdy Python / IPython działa w terminalu, można ustawić na to, Nonea panda poprawnie automatycznie wykryją szerokość. Uwaga: Notatnik IPython, qytconsole IPython lub IDLE nie działają w terminalu i dlatego nie jest możliwe prawidłowe wykrycie szerokości.


5
import pandas as pd
pd.set_option('display.max_columns', 100)
pd.set_option('display.width', 1000)

SentenceA = "William likes Piano and Piano likes William"
SentenceB = "Sara likes Guitar"
SentenceC = "Mamoosh likes Piano"
SentenceD = "William is a CS Student"
SentenceE = "Sara is kind"
SentenceF = "Mamoosh is kind"


bowA = SentenceA.split(" ")
bowB = SentenceB.split(" ")
bowC = SentenceC.split(" ")
bowD = SentenceD.split(" ")
bowE = SentenceE.split(" ")
bowF = SentenceF.split(" ")

# Creating a set consisted of all words

wordSet = set(bowA).union(set(bowB)).union(set(bowC)).union(set(bowD)).union(set(bowE)).union(set(bowF))
print("Set of all words is: ", wordSet)

# Initiating dictionary with 0 value for all BOWs

wordDictA = dict.fromkeys(wordSet, 0)
wordDictB = dict.fromkeys(wordSet, 0)
wordDictC = dict.fromkeys(wordSet, 0)
wordDictD = dict.fromkeys(wordSet, 0)
wordDictE = dict.fromkeys(wordSet, 0)
wordDictF = dict.fromkeys(wordSet, 0)

for word in bowA:
    wordDictA[word] += 1
for word in bowB:
    wordDictB[word] += 1
for word in bowC:
    wordDictC[word] += 1
for word in bowD:
    wordDictD[word] += 1
for word in bowE:
    wordDictE[word] += 1
for word in bowF:
    wordDictF[word] += 1

# Printing Term frequency

print("SentenceA TF: ", wordDictA)
print("SentenceB TF: ", wordDictB)
print("SentenceC TF: ", wordDictC)
print("SentenceD TF: ", wordDictD)
print("SentenceE TF: ", wordDictE)
print("SentenceF TF: ", wordDictF)

print(pd.DataFrame([wordDictA, wordDictB, wordDictB, wordDictC, wordDictD, wordDictE, wordDictF]))

Wynik:

   CS  Guitar  Mamoosh  Piano  Sara  Student  William  a  and  is  kind  likes
0   0       0        0      2     0        0        2  0    1   0     0      2
1   0       1        0      0     1        0        0  0    0   0     0      1
2   0       1        0      0     1        0        0  0    0   0     0      1
3   0       0        1      1     0        0        0  0    0   0     0      1
4   1       0        0      0     0        1        1  1    0   1     0      0
5   0       0        0      0     1        0        0  0    0   1     1      0
6   0       0        1      0     0        0        0  0    0   1     1      0

Potrzebujesz tylko tych dwóch: (Sprawdź powyższy przykład) importuj pandy jako pd pd.set_option ('display.max_columns', 100) pd.set_option ('display.width', 1000)
William Pourmajidi

4

Użyłem tych ustawień, gdy skala danych jest wysoka.

# environment settings: 
pd.set_option('display.max_column',None)
pd.set_option('display.max_rows',None)
pd.set_option('display.max_seq_items',None)
pd.set_option('display.max_colwidth', 500)
pd.set_option('expand_frame_repr', True)

Możesz zapoznać się z dokumentacją tutaj


4

Poniższy wiersz wystarczy, aby wyświetlić wszystkie kolumny z ramki danych. pd.set_option('display.max_columns', None)


1
Witamy w SO! Kiedy opublikujesz nową odpowiedź na pytanie, a jest jeszcze kilka odpowiedzi, spróbuj pokazać plusy. Jest jeszcze jedna odpowiedź. pd.set_option('display.max_columns', 0)Jakie są twoje zalety?
David García Bodego

3

Jeśli nie chcesz zadzierać z opcjami wyświetlania i chcesz tylko zobaczyć tę konkretną listę kolumn bez rozwijania każdej wyświetlanej ramki danych, możesz spróbować:

df.columns.values


2

Możesz po prostu wykonać następujące kroki,

  • Możesz zmienić opcje dla pandas max_columns w następujący sposób

    import pandas as pd
    pd.options.display.max_columns = 10

    (pozwala to na wyświetlenie 10 kolumn, możesz to zmienić w razie potrzeby)

  • W ten sposób możesz zmienić liczbę wierszy, ponieważ musisz wyświetlić w następujący sposób (jeśli musisz również zmienić maksymalną liczbę wierszy)

    pd.options.display.max_rows = 999

    (pozwala to na wydrukowanie 999 wierszy jednocześnie)

Proszę zapoznać się z dokumentem, aby zmienić różne opcje / ustawienia dla pand

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.