Выходные данные из всех столбцов в таблице данных в панд


у меня есть CSV-файл с именем params.csv. Я открыл ipython qtconsole и создал панд dataframe использование:

import pandas
paramdata = pandas.read_csv('params.csv', names=paramnames)

здесь paramnames - это список строковых объектов python. Пример paramnames (длина фактического списка составляет 22):

paramnames = ["id",
"fc",
"mc",
"markup",
"asplevel",
"aspreview",
"reviewpd"]

в приглашении ipython, если я наберу paramdata и нажмите enter, тогда я не получаю фрейм данных со столбцами и значениями, как показано в примерах на сайт панды. Вместо этого я получаю информацию о фрейме данных. Я получить:

In[35]: paramdata
Out[35]: 
<class 'pandas.core.frame.DataFrame'>
Int64Index: 59 entries, 0 to 58
Data columns:
id                    59  non-null values
fc                    59  non-null values
mc                    59  non-null values
markup                59  non-null values
asplevel              59  non-null values
aspreview             59  non-null values
reviewpd              59  non-null values

если я типа paramdata['mc'] тогда я получаю значения, как и ожидалось для

6 78

6 ответов:

на экране отображается слишком много данных, поэтому вместо этого отображается сводка.

Если вы хотите вывести данные в любом случае (это, вероятно, не поместится на экране и не выглядит очень хорошо):

print paramdata.values

преобразует DataFrame для своей библиотеки numpy массив в матричном представлении.

paramdata.columns

сохраняет соответствующие имена столбцов и

paramdata.index

сохраняет соответствующий индекс (имена строк).

использование:

pandas.set_option('display.max_columns', 7)

Это заставит панд отображать 7 столбцов, которые у вас есть. Или вообще:

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

что заставит его отображать любое количество столбцов.

пояснение: значение по умолчанию для max_columns и 0, который говорит панд для отображения таблицы, только если все столбцы могут быть сжаты в ширину консоли.

Я знаю, это старый вопрос, но у меня только что была аналогичная проблема и я думаю, что я сделал будет работать для вас тоже.

я использовал метод to_csv () и написал в stdout:

import sys

paramdata.to_csv(sys.stdout)

это должно сбросить весь фрейм данных, является ли он хорошо печатаемым или нет, и вы можете использовать параметры to_csv для настройки разделителей столбцов, печатается ли индекс и т. д.

на ipython, Я использую это для печати части фрейма данных, которая работает довольно хорошо (печатает первые 100 строк):

print paramdata.head(100).to_string()

вы также можете использовать DataFrame.head(x)/.tail(x) для отображения первых / последних x строк фрейма данных.

вы можете использовать синтаксис нарезки последовательности, т. е.

paramdata[:5] # first five records
paramdata[-5:] # last five records
paramdata[:] # all records

иногда фрейм данных может не поместиться в буфер экрана, и в этом случае вам, вероятно, лучше либо распечатать небольшое подмножество, либо экспортировать его во что-то другое, построить или (снова csv)