Выходные данные из всех столбцов в таблице данных в панд
у меня есть 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 ответов:
на экране отображается слишком много данных, поэтому вместо этого отображается сводка.
Если вы хотите вывести данные в любом случае (это, вероятно, не поместится на экране и не выглядит очень хорошо):
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)