Panda DataFrame'in daha fazla sütununu görmek için çıktı görüntüsünü nasıl genişletebilirim?


622

Çıktı görüntüsünü etkileşimli veya komut dosyası yürütme modunda genişletmenin bir yolu var mı?

Özellikle, describe()işlevi bir panda üzerinde kullanıyorum DataFrame. Ne zaman DataFrame5 sütun ise (etiketler) genişliğinde, istediğim o tanımlayıcı istatistikleri almak. Ancak, DataFramedaha fazla sütunu varsa, istatistikler bastırılır ve böyle bir şey döndürülür:

>> 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  

6 veya 7 sütun olup olmadığı "8" değeri olarak verilir. "8" ne anlama geliyor?

Zaten IDLE penceresini daha büyük sürükleme ve boşuna "IDLE yapılandır" genişlik seçeneklerini artırmayı denedim.

Pandaları kullanmaktaki amacım ve describe()Stata gibi ikinci bir programı temel veri manipülasyonu ve araştırması yapmaktan kaçınmak.

Yanıtlar:


887

Güncelleme: Pandalar 0.23.4 sonrası

Bu gerekli değildir, pandalar ayarladıysanız terminal pencerenizin boyutunu otomatik olarak algılar pd.options.display.width = 0. (Eski sürümler için aşağıya bakın.)

pandas.set_printoptions(...)kullanımdan kaldırıldı. Bunun yerine, pandas.set_option(optname, val)veya eşdeğer olarak kullanın pd.options.<opt.hierarchical.name> = val. Sevmek:

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

İşte yardımıset_option :

set_option (pat, value) - Belirtilen seçeneğin değerini ayarlar

Mevcut seçenekler:
[chop_threshold, colheader_justify, sütun_uzayı, tarih_günlüğü,
         date_yearfirst, kodlama, expand_frame_repr, float_format, yükseklik,
         line_width, max_columns, max_colwidth, max_info_columns, max_info_rows,
         max_rows, max_seq_items, mpl_style, çoklu_sparse, notebook_repr_html,
         pprint_nest_depth, kesinlik, genişlik]
[sim_interactive, use_inf_as_null]

Parametreler
----------
tek bir seçenekle eşleşmesi gereken pat - str / regexp.

Not: kolaylık olması açısından kısmi eşleşmeler desteklenir, ancak
tam seçenek adı (egxyzoption_name), kodunuz gelecekte kırılabilir
benzer adlara sahip yeni seçenekler sunulursa.

değer - seçeneğin yeni değeri.

İadeler
-------
Yok

yükseltmeler
------
Böyle bir seçenek yoksa KeyError

display.chop_threshold: [varsayılan: Yok] [şu anda: Yok]
: şamandıra veya Yok
        bir kayan nokta değerine ayarlanırsa, tüm kayan nokta değerleri belirtilen eşikten küçüktür
        repr ve arkadaşları tarafından tam olarak 0 olarak görüntülenecektir.
display.colheader_justify: [varsayılan: sağ] [şu anda: sağ]
: 'sol sağ'
        Sütun başlıklarının gerekçesini kontrol eder. DataFrameFormatter tarafından kullanılır.
display.column_space: [varsayılan: 12] [şu anda: 12] Hiçbir açıklama yok.

display.date_dayfirst: [varsayılan: Yanlış] [şu anda: Yanlış]
: boolean
        True olduğunda, ilk güne ait tarihleri ​​yazdırır ve ayrıştırır, örneğin 20/01/2005
display.date_yearfirst: [varsayılan: Yanlış] [şu anda: Yanlış]
: boolean
        True olduğunda, yazdırır ve ayrıştırır ilk yılla başlar, örneğin 2005/01/20
display.encoding: [varsayılan: UTF-8] [şu anda: UTF-8]
: str / unicode
        Konsolun algılanan kodlamasını varsayılan olarak yapar.
        To_string tarafından döndürülen dizeler için kullanılacak kodlamayı belirtir,
        bunlar genellikle konsolda görüntülenmesi gereken dizelerdir.
display.expand_frame_repr: [varsayılan: Doğru] [şu anda: Doğru]
: boolean
        Geniş DataFrame'ler için tam DataFrame raporunun yazdırılıp yazdırılmayacağı
        birden fazla satırda "max_columns" a hala saygı duyulur, ancak çıktı
        genişliği "display.width" değerini aşarsa birden çok "sayfaya" dolayın.
display.float_format: [varsayılan: Yok] [şu anda: Yok]
: çağrılabilir
        Çağrılabilir, bir kayan nokta sayısı kabul etmeli ve geri dönmelidir
        istenen sayı biçimine sahip bir dize. Bu kullanılır
        SeriesFormatter gibi bazı yerlerde.
        Örnek için bkz. Core.format.EngFormatter.
display.height: [varsayılan: 60] [şu anda: 1000]
: int
        Kullanımdan kaldırıldı.
        (Kullanımdan kaldırıldı, bunun yerine "display.height" kullanın.)

display.line_width: [varsayılan: 80] [şu anda: 1000]
: int
        Kullanımdan kaldırıldı.
        (Kullanımdan kaldırıldı, bunun yerine "display.width" kullanın.)

display.max_columns: [varsayılan: 20] [şu anda: 500]
: int
        max_rows ve max_columns __repr __ () yöntemlerinde kullanılıp kullanılmadığına karar vermek için kullanılır
        to_string () veya info (), bir nesneyi dizeye dönüştürmek için kullanılır. Durumunda
        python / IPython bir terminalde çalışıyor, bu 0 ve pandalara ayarlanabilir
        terminalin genişliğini doğru bir şekilde otomatik olarak algılar ve daha küçük olana değiştirir
        tüm sütunların dikey olarak sığmaması durumunda biçimlendirin. IPython dizüstü bilgisayar,
        IPython qtconsole veya IDLE bir terminalde çalışmaz ve bu nedenle çalışmaz
        doğru otomatik algılama yapmak mümkündür.
        'Hiçbiri' değeri sınırsız demektir.
display.max_colwidth: [varsayılan: 50] [şu anda: 50]
: int
        Değerindeki bir sütunun karakterlerindeki maksimum genişlik
        panda veri yapısı. Sütun taştığında, bir "..."
        placeholder çıktıya gömülüdür.
display.max_info_columns: [varsayılan: 100] [şu anda: 100]
: int
        max_info_columns DataFrame.info yönteminde kullanılıp kullanılmadığına karar vermek için kullanılır.
        sütun başına bilgi yazdırılacaktır.
display.max_info_rows: [varsayılan: 1690785] [şu anda: 1690785]
: int veya None
        max_info_rows, bir karenin olacağı maksimum satır sayısıdır
        Bir konsola yeniden yazdırırken sütunlarında boş bir denetim gerçekleştirin.
        Varsayılan 1.000.000 satırdır. Yani, bir DataFrame daha fazla
        1.000.000 satır,
        sütunlar ve böylece temsilin daha az zaman alacağı
        etkileşimli bir oturumda görüntüler. Hiçbiri değeri her zaman anlamına gelir
        tekrar basarken boş bir kontrol gerçekleştirin.
display.max_rows: [varsayılan: 60] [şu anda: 500]
: int
        Bu, pandaların yazdırırken girmesi gereken maksimum satır sayısını ayarlar
        çeşitli çıktı. Örneğin, bu değer repr ()
        bir veri çerçevesi tamamen veya sadece bir özet repr yazdırır.
        'Hiçbiri' değeri sınırsız demektir.
display.max_seq_items: [varsayılan: Yok] [şu anda: Yok]
: int veya None

        uzun bir diziyi güzel yazdırırken, `max_seq_items` ten daha fazla değil
        yazdırılacak. Öğeler göz ardı edilirse, ilavelerle gösterilir
        sonuçtaki dizeye "..."

        Yok olarak ayarlanırsa, yazdırılacak öğe sayısı sınırsızdır.
display.mpl_style: [varsayılan: Yok] [şu anda: Yok]
: bool

        Bunu 'varsayılan' olarak ayarlamak matplotlib tarafından kullanılan rcParams'ı değiştirir
        grafiklere varsayılan olarak daha hoş bir görsel stil vermek için.
        Bunu Yok / Yanlış olarak ayarlamak, değerleri başlangıç ​​değerlerine geri yükler.
display.multi_sparse: [varsayılan: Doğru] [şu anda: Doğru]
: boolean
        "sparsify" MultiIndex ekran (tekrarlananları gösterme
        gruplar içindeki dış seviyelerdeki elemanlar)
display.notebook_repr_html: [varsayılan: Doğru] [şu anda: Doğru]
: boolean
        True olduğunda, IPython dizüstü bilgisayar html temsilini kullanır
        Panda nesneleri (varsa).
display.pprint_nest_depth: [varsayılan: 3] [şu anda: 3]
: int
        Güzel yazdırırken işlenecek iç içe geçmiş düzeylerin sayısını kontrol eder
display.precision: [varsayılan: 7] [şu anda: 7]
: int
        Kayan nokta çıktı hassasiyeti (anlamlı basamak sayısı). Bu
        sadece bir öneri
display.width: [varsayılan: 80] [şu anda: 1000]
: int
        Ekranın karakter cinsinden genişliği. Python / IPython çalışıyorsa
        bu terminal Yok olarak ayarlanabilir ve pandalar otomatik olarak
        Genişlik.
        IPython not defterinin, IPython qtconsole veya IDLE öğesinin bir
        ve dolayısıyla genişliği doğru tespit etmek mümkün değildir.
mode.sim_interactive: [varsayılan: Yanlış] [şu anda: Yanlış]
: boolean
        Test amacıyla etkileşimli modun simüle edilip edilmeyeceği
mode.use_inf_as_null: [varsayılan: Yanlış] [şu anda: Yanlış]
: boolean
        Doğru, Hiçbiri, NaN, INF, -INF'ye boş (eski yol) olarak davranmak anlamına gelir,
        Yanlış, None ve NaN'nin boş olduğu, ancak INF, -INF'nin boş olmadığı anlamına gelir
        (yeni yol).
Çağrı hatası: pd.set_option (benlik, * argümanlar, ** kwds)

EDIT: eski sürüm bilgileri, bunların çoğu kullanımdan kaldırıldı.

@Bmu'nun belirttiği gibi , pandalar otomatik olarak görüntüleme alanının boyutunu algılar (varsayılan olarak), bir nesne repreni ekrana sığmadığında bir özet görünümü kullanılır. IDLE penceresini yeniden boyutlandırma, hiçbir etki yaratmadan bahsetmiştiniz. Bunu yaparsanız print df.describe().to_string()IDLE penceresine sığar mı?

Terminal boyutu pandas.util.terminal.get_terminal_size()(kullanımdan kaldırılmış ve kaldırılmış) tarafından belirlenir , bu (width, height), ekranın bulunduğu bir demet döndürür . Çıktı, IDLE pencerenizin boyutuyla eşleşiyor mu? Bir sorun olabilir (emacs'da bir terminal çalıştırırken daha önce bir sorun vardı).

Otomatik algılamayı atlamanın mümkün olduğunu pandas.set_printoptions(max_rows=200, max_columns=10), satır sayısı, sütunlar belirtilen sınırları aşmazsa hiçbir zaman özet görünüme geçmeyeceğini unutmayın.


'Max_colwidth' seçeneği, her sütunun kesilmemiş biçimini görmenize yardımcı olur.

TruncatedColumnDisplay


4
display.height: kullanımdan kaldırıldı, display.heightbunun yerine kullanın ... Ölü döngüdayım.
Donmuş Alev

5
Günümüzde seçenekler aynı zamanda , örneğinpd.optionspd.options.display.max_rows = 999
unutbu

2
'Display.height' özelliği kullanımdan kaldırıldı.
Greg M. Krsak

2
Pandalar'da benim için çalışmadı 0.23.2.
devinbost

6
Sen kullanmak isteyebilir option_context seçeneği değişiklikleri birlikte çalıştığınız şeye yerel böylece. Bu, bir sonraki aramada .head()veya başka bir şeyde yanlışlıkla 400 sayfa önemsiz sayfa yazdırmayı önler .
Mike Williamson

195

Bunu dene:

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

Belgelerden:

display.expand_frame_repr: boolean

İster birden fazla satırda geniş DataFrames için tam DataFrame repr yazdırmak olsun, max_columns hala dikkate alınmaktadır, ancak genişliği display.width değerini aşarsa çıktı birden fazla "sayfa" arasında sarılacaktır. [varsayılan: Doğru] [şu anda: Doğru]

Bkz. Http://pandas.pydata.org/pandas-docs/stable/generated/pandas.set_option.html


6
Bu benim için çalışıyor. Pandaların çıktı genişliğini bir nedenden dolayı yanlış hesapladığı ve sütunları gereksiz yere kıracağı anlaşılıyor.
zbyszek

5
Bunu her gün tam anlamıyla yapmak zorundayım ... Bunu küresel olarak bir yere koymanın bir yolu var mı?
citynorman

1
@citynorman pandas\core\config_init.pykalıcı olarak ayarlamak için bkz .
Jarad

106

Seçenekleri büyük bir DataFrame görüntülemek için geçici olarak ayarlamak istiyorsanız, option_context'i kullanabilirsiniz :

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

withBloktan çıktığınızda seçenek değerleri otomatik olarak geri yüklenir .


3
Sınır Nonetanımlamak için kullanılabilir (999 yerine).
Eric O Lebigot

5
with pd.option_context('display.max_rows', None, 'display.max_columns', None): print(energy)işe yaramadı. Görmek istediğim sütun sayısını değiştirmedi. Ancak, Wouter Overmeiere'nin çözümü işe yaradı.
Aziz Javed

Ama bir fark var, bazıları gibi numarasına ihtiyacım -1veya 500değil Yok.
jezrael

2
-1 çökmesi ve 500 kullanımı da hiçbir şey yapmadı
Aziz Javed

1
Bir bağlam yöneticisi önermek için +1, max_rowsdeğer için -1 ;). 'display.max_rows'-1 olarak ayarlamak biçimlendirmeyi tamamen bozuyor gibi görünüyor (verilerim için çökme yok, ancak şimdi belirli satırları birkaç kez yazdırıyor).
bluenote10

88

Sadece bu 3 hattı kullanmak benim için çalıştı:

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 / pandalar: 0.23.0 / Visual Studio Code 1.26


54

Aşağıdakileri kullanarak sütun maksimum genişliğini ayarlayın:

pd.set_option('max_colwidth', 800)

Bu özel ifade, sütun başına maksimum genişliği 800 piksel olarak ayarlar.


2
Azalan oy düzeninde aşağıya doğru ilerlerken, bu, Pandaların DataFrames'ın düz metin çıktısını kesmemesini sağlamak için benim için çalışan ilk cevaptı. (pandalar 0.22, iTerm2 3.0.13, OS X 10.12).
Peter Leimbigler

2
Bu benim için Pandalar 0.23.2 için çalışan tek kişi.
devinbost

1
Neden böyle belirtmek zorunda kalmadınız display.max_colwidth? Belgelerde bu şekilde listelenir. Sadece max_colwidthişe yaradığını ve yazmanın daha kısa olduğunu kabul ediyorum , ama şaşırdım.
cmo

26

print df.describe().to_string()Tüm tabloyu göstermeye zorlamak için kullanabilirsiniz . ( to_string()Herhangi bir DataFrame için böyle kullanabilirsiniz . Bunun sonucu describesadece bir DataFrame'dir.)

8, DataFrame içindeki "açıklama" yı tutan satır sayısıdır (çünkü describe8 istatistik, min, maks, ortalama vb. Hesaplar ).


26

Panda baskı seçeneklerini ile ayarlayabilirsiniz 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

Ancak pandalar konsol genişliğinizi algıladığı için bu her durumda çalışmaz ve yalnızca to_stringçıktı konsola sığdığında kullanılır (dokümana bakınız set_printoptions). Bu durumda to_string, BrenBarn tarafından cevaplandığı gibi açıkça arayabilirsiniz .

Güncelleme

0.10 sürümü ile geniş veri çerçevelerinin yazdırılma şekli değişti :

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  

Ayrıca panda seçeneklerini ayarlama API'si değişti:

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

Lodagro tarafından belirtilen max_columns yöntemini kullanmayı tercih ediyorum, ancak görüntülenen istatistikleri temizlemeye yardımcı olacağı için hassas anahtar kelimeden bahsettiğinize sevindim. Teşekkürler!
pancar

22

Çıkış ekranını mevcut terminal genişliğinize uyacak şekilde ayarlayabilirsiniz:

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

6
@ wouter-overmeire pandaların bunu otomatik olarak yaptığını söylüyor , ancak durum böyle görünmüyor, en azından 0.18.0 ile değil. Ancak, pd.set_option('display.width', None)bir terminalde kullanırsanız, "pandalar genişliği otomatik olarak doğru algılar" .
Matthias Fripp

Kesinlikle! Varsayılan olarak yapmaz. Hiçbiri ayarlandığında, genişliği hiç yok sayılır. Belki Pandalar'da bir böcek ya da belki de gnome terminali ile ilgili ..? Teşekkürler Wilfred Hughes!
danger89

3
AttributeError: 'pandas.util' modülünün 'terminal' özelliği yok
Bhishan Poudel

1
@BhishanPoudel Bunun yerine şunları yapabilirsiniz:pd.options.display.width = None
SebMa

1
@BhishanPoudel Bu cevap birkaç yaşında ve seninle aynı problemle karşılaştım. Bunu yazarken, panda sürümü 0.23.1 kullanarak, modül şimdipd.io.formats.terminal.get_terminal_size()
Ajay

13

V0.18.0 için olan belgelere göre , bir terminalde (yani iPython dizüstü bilgisayar, qtconsole veya IDLE değil) çalışıyorsanız, Pandaların ekran genişliğinizi otomatik olarak algılaması ve anında kaç gösterdiği sütunlar:

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

1
Bu benim için çalıştı, teşekkürler! OS X 10.11.6'daki yerleşik Terminal uygulamasını kullanarak Pandas 0.22.0'ı (en son 8 Şubat 2018) kullanıyorum
Greg Sadetsky

8

Yukarıdaki tüm cevaplar sorunu çözüyor gibi görünüyor. Bir nokta daha: yerine pd.set_option('option_name'), (otomatik tamamlama özelliği)

pd.options.display.width = None

Bkz. Pandalar doc: Seçenekler ve Ayarlar:

Seçeneklerin tam "noktalı stili", büyük / küçük harfe duyarlı olmayan bir adı vardır (ör. display.max_rows). Seçenekleri doğrudan üst düzey optionsözelliğin özellikleri olarak alabilirsiniz / ayarlayabilirsiniz :

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

[...]

için max_...params:

max_rowsve max_columnskullanılan __repr__()karar vermek yöntemlerle to_string()veya info()bir dizeye bir nesne işlemek için kullanılır. Bir terminalde python / IPython çalışıyorsa, bu 0 olarak ayarlanabilir ve pandalar terminalin genişliğini doğru şekilde otomatik olarak algılayacak ve tüm sütunların dikey olarak sığmaması durumunda daha küçük bir formata geçecektir. IPython not defteri, IPython qtconsole veya IDLE bir terminalde çalışmaz ve bu nedenle doğru otomatik algılamayı yapmak mümkün değildir. ' None' değeri sınırsız demektir. [vurgu orijinal değil]

için widthparam:

Ekranın karakter cinsinden genişliği. Python / IPython'un bir terminalde çalışması durumunda, bu olarak ayarlanabilir Noneve pandalar genişliği otomatik olarak doğru şekilde algılar. IPython not defteri, IPython qtconsole veya IDLE'nin bir terminalde çalışmadığını ve bu nedenle genişliği doğru bir şekilde algılamanın mümkün olmadığını unutmayın.


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]))

Çıktı:

   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

Sadece bu ikisine ihtiyacınız var: (Yukarıdaki örneği kontrol edin) pandaları pd pd.set_option ('display.max_columns', 100) pd.set_option ('display.width', 1000) olarak
içe aktarın

4

Veri ölçeği yüksek olduğunda bu ayarları kullandım.

# 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)

Belgelere buradan başvurabilirsiniz.


4

Aşağıdaki satır, veri çerçevesindeki tüm sütunları görüntülemek için yeterlidir. pd.set_option('display.max_columns', None)


1
SO hoş geldiniz! Bir soruya yeni bir cevap gönderdiğinizde ve daha fazla cevap geldiğinde, Profesyonelleri göstermeyi deneyin. Hala bir cevap var pd.set_option('display.max_columns', 0)Hangileri sizin yararınıza?
David García Bodego

3

Görüntü seçeneklerinizle uğraşmak istemiyorsanız ve yalnızca görüntülemekte olduğunuz her veri çerçevesini genişletmeden bu belirli bir sütun listesini görmek istiyorsanız deneyebilirsiniz:

df.columns.values


2

Aşağıdaki adımları uygulamanız yeterlidir,

  • Pandas max_columns özelliği için seçenekleri aşağıdaki gibi değiştirebilirsiniz

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

    (Bu, 10 sütunun görüntülenmesine izin verir, bunu istediğiniz gibi değiştirebilirsiniz)

  • Bunun gibi, satır sayısını aşağıdaki gibi görüntülemeniz gerektiği gibi değiştirebilirsiniz (maksimum satırı değiştirmeniz gerekiyorsa)

    pd.options.display.max_rows = 999

    (bu bir seferde 999 satır yazdırmaya olanak tanır)

Pandalar için farklı seçenekleri / ayarları değiştirmek için lütfen dokümana başvurun

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.