Відобразити всі стовпці фреймів даних у блокноті Jupyter Python


103

Я хочу показати всі стовпці у фреймі даних у блокноті Jupyter. Юпітер показує деякі стовпці і додає крапки до останніх стовпців, як на малюнку:

Скріншот Juputer

Як можна відобразити всі стовпці?

Відповіді:


173

Спробуйте налаштування відображення max_columns наступним чином:

import pandas as pd
from IPython.display import display

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

Або

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

Редагувати: Pandas 0.11.0 назад

Це застаріло, але у версіях Pandas, старших за 0.11.0, max_columnsпараметр задається наступним чином:

pd.set_printoptions(max_columns=500)

Має працювати, якщо у вас немає дуже старої версії Pandas. Я оновив відповідь ...
Ісма

4
Не можу повірити, що це спосіб зробити це!
інформацією

2
Якщо ви хочете зробити тимчасове налаштування, ви можете використовувати наприклад with pd.option_context("display.max_rows", 10, "display.max_columns", 5):(див. Отримання та налаштування параметрів ).
Бенджамін Б.

35

Я знаю, що це запитання трохи давнє, але в блокноті Jupyter, який працює з пандами 0.22.0 та Python 3, для мене працювало наступне:

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

Ви можете зробити те ж саме для рядків:

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

Це економить імпорт IPython, а в документації pandas.set_option є більше опцій: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.set_option.html


1
Ви можете використовувати ключове слово None у <кількість стовпців>, якщо заздалегідь не знаєте кількість стовпців.
kmundnic

9

Python 3.x для великих (але не занадто великих) фреймів даних

Можливо, тому, що у мене є старіша версія панд, але на блокноті Юпітера це працює для мене

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

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

Спробував це, але це зіпсувало мій сеанс jupyter, який втратив пам'ять. Мій ПК має SSD і 8 ГБ оперативної пам’яті ...
FLBKernel

@FLBKernel він мені цього не зробив, можливо, ваш Dataframe набагато більший за мій. Яким був ваш вихід? Ви спробували інший метод і працювали для вас? якщо так, поділіться своїми знаннями. Дякую.
rsc05,

Я ще не знайшов жодного методу, але повідомим вас, як тільки вирішу цю проблему. І так, мій Dataframe мабуть був більшим, тому давайте зазначимо, що це не рекомендується для великих фреймів даних
FLBKernel

1
@FLBKernel Мій фрейм даних також був великим. Але я не знав, наскільки це може бути великим. Я вкажу на це. Дякую!
rsc05,

Мій має 107.763 рядків і 15 стовпців. Ми можемо встановити -може-, що більше ніж приблизно 100 тис. Рядків та 15 стовпців ця відповідь не рекомендується. Мені все ж подобається "великий (але не надто великий)" заголовок :)
FLBKernel

5

Я рекомендую встановити параметри відображення в контекстному менеджері так, щоб це впливало лише на один вихід. Якщо ви також хочете надрукувати "симпатичну" html-версію, я визначив би функцію та показав фрейм даних, dfвикористовуючи 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()))

Як зазначали інші, будьте обережні, щоб називати це лише на кадрах даних розміру.


1

ви можете використовувати pandas.set_option (), для стовпця ви можете вказати будь-який з цих параметрів

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

Для повного стовпця друку ви можете використовувати ось такий

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

введіть тут опис зображення


0

Якщо ви хочете показати всі рядки, встановлені як нижче

pd.options.display.max_rows = None

Якщо ви хочете показати всі стовпці, встановлені як нижче

pd.options.display.max_columns = None
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.