Jupyter Python Not Defterindeki tüm veri çerçevesi sütunlarını görüntüleyin


103

Jupyter Not Defterindeki bir veri çerçevesindeki tüm sütunları göstermek istiyorum. Jupyter, aşağıdaki resimdeki gibi bazı sütunları gösterir ve son sütunlara noktalar ekler:

Juputer Ekran Görüntüsü

Tüm sütunları nasıl görüntüleyebilirim?

Yanıtlar:


173

Display max_columns ayarını aşağıdaki gibi deneyin:

import pandas as pd
from IPython.display import display

df = pd.read_csv("some_data.csv")
pd.options.display.max_columns = None
display(df)

Veya

pd.set_option('display.max_columns', None)

Düzenleme: Geriye doğru Pandalar 0.11.0

Bu kullanımdan kaldırılmıştır ancak 0.11.0'dan daha eski Pandas sürümlerinde max_columnsayar aşağıdaki şekilde belirtilmiştir:

pd.set_printoptions(max_columns=500)

Pandas'ın çok eski bir sürümüne sahip değilseniz çalışmalıdır. Ben ... cevap güncelledik
Isma

4
Bunu yapmanın yolu olduğuna inanamıyorum!
information_interchange

2
Geçici bir ayar yapmak istiyorsanız, örneğin kullanabilirsiniz with pd.option_context("display.max_rows", 10, "display.max_columns", 5):(bkz . Seçenekleri alma ve ayarlama ).
Benjamin B.

35

Bu sorunun biraz eski olduğunu biliyorum, ancak aşağıdakiler benim için pandalar 0.22.0 ve Python 3 çalıştıran bir Jupyter Not Defterinde çalıştı:

import pandas as pd
pd.set_option('display.max_columns', <number of columns>)

Aynısını satırlar için de yapabilirsiniz:

pd.set_option('display.max_rows', <number of rows>)

Bu, IPython'u içe aktarmayı kaydeder ve pandas.set_option belgelerinde daha fazla seçenek vardır: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.set_option.html


1
Önceden sütun sayısını bilmiyorsanız, <sütun sayısı> bölümünde Yok anahtar sözcüğünü kullanabilirsiniz.
kmundnic

9

Büyük (ancak çok büyük olmayan) Veri Çerçeveleri için Python 3.x

Belki pandaların eski bir sürümüne sahip olduğum içindir, ancak Jupyter defterinde bu benim için çalışıyor

import pandas as pd
from IPython.core.display import HTML

df=pd.read_pickle('Data1')
display(HTML(df.to_html()))

Bunu denedim ama jupyter seansımı hafızamdan mahvetti. Bilgisayarım SSD ve 8 GB RAM belleğe sahip ...
FLBKernel

@FLBKernel bunu bana yapmadı, belki Dataframe'iniz benimkinden çok daha büyük. Çıkış yolun neydi? Başka bir yöntem denediniz ve sizin için çalıştınız mı? eğer öyleyse bilginizi paylaşın. Teşekkürler.
rsc05

Henüz bir yöntem bulamadım, ancak bu sorunu çözer çözmez size haber vereceğim. Ve evet, Dataframe'im muhtemelen daha büyüktü, bu yüzden bunun büyük Dataframe'ler için tavsiye edilemeyeceğini belirtelim
FLBKernel

1
@FLBKernel Veri çerçevem ​​de büyüktü. Ama ne kadar büyük olabileceğini bilmiyordum. Ben onu işaret edeceğim. Teşekkürler!
rsc05

Madende 107.763 sıra ve 15 sütun var. Belki de 100.000'den fazla satır ve 15 sütundan fazla bu cevabın tavsiye edilemeyeceğini belirleyebiliriz. Yine de "büyük (ama çok büyük değil)" başlığını
beğendim

5

Görüntü seçeneklerini yalnızca tek bir çıktıyı etkileyecek şekilde bir bağlam yöneticisi içinde ayarlamanızı öneririm. Ayrıca bir "tatlı" html-sürümünü yazdırmak istiyorsanız, ben bir işlev tanımlayıp dataframe görüntüleyecektir dfkullanarak force_show_all(df):

from IPython.core.display import display, HTML

def force_show_all(df):
    with pd.option_context('display.max_rows', None, 'display.max_columns', None, 'display.width', None):
        display(HTML(df.to_html()))

Diğerlerinin de belirttiği gibi, bunu yalnızca makul büyüklükte bir veri çerçevesinde çağırmaya dikkat edin.


1

pandas.set_option () kullanabilirsiniz, sütun için bu seçeneklerden herhangi birini belirtebilirsiniz

pd.set_option("display.max_rows", 200)
pd.set_option("display.max_columns", 100)
pd.set_option("display.max_colwidth", 200)

Tam baskı sütunu için şu şekilde kullanabilirsiniz

import pandas as pd
pd.set_option('display.max_colwidth', -1)
print(words.head())

görüntü açıklamasını buraya girin


0

Aşağıdaki gibi ayarlanmış tüm satırları göstermek istiyorsanız

pd.options.display.max_rows = None

Aşağıdaki gibi ayarlanmış tüm sütunları göstermek istiyorsanız

pd.options.display.max_columns = None
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.