Я пытаюсь сохранить DataFrame, который я создал с помощью groupby, в файл excel с функцией to_excel. Когда я просматриваю данные в ноутбуке ipython, он появляется по желанию. Код GroupBy прост:Pandas: проблема с to_excel с использованием сгруппированной DataFrame
grouped = teach_freq.groupby(['Focal','follow','Activity'])
grouped.head()
<class 'pandas.core.frame.DataFrame'>
MultiIndex: 1797 entries, (10107.0, 192.0, ff, 25220.0) to (53704.0, 142.0, ss.rn, 18823.0)
Data columns (total 16 columns):
Epoch 1790 non-null values
follow 1797 non-null values
T_Opp 1797 non-null values
T_Dir 1797 non-null values
T_Enh 1797 non-null values
T_SocTol 1797 non-null values
... и так далее dtypes: float64 (3), Int64 (6), объект (7)
to_excel код также прост:
grouped.to_excel('filename.xls', sheet_name='sheet1')
Когда я запускаю этот последний код, только несколько строк данных попадают в файл excel (около 3 из почти 1800 строк данных. Я получаю предварительный просмотр другой части данных в ноутбуке ipython, который выглядит например:
Focal follow Activity
10107 192 ff None
10212 187 rn.ss None
194 hc None
pa None
10213 166 hr.hg None
pa None
sr.hg None
sr.hl None
Эти данные представляют собой только 3 столбца, которые я сгруппировал, плюс столбец None, который не существует в моем фреймворке данных. В файле я получаю 6 строк правильно отформатированных данных, заголовков и всего. Если я буду следить за файлом, который записывается в Finder, размер изменяется вверх и вниз как строка кода to_excel, что, я думаю, предполагает, что он пишет небольшие фрагменты данных в файл за раз, записывая каждый со следующим.
Окончательный размер файла крошечный (6 КБ), но в некоторых случаях, когда код работает, он больше (до 32 КБ).
Наконец, последние несколько строк данных, отображаемых в данных ipython, представляют собой строки непосредственно перед теми, которые успешно записаны в файл excel, что предполагает, что по какой-то причине оно сохраняет только эти строки данных, прошли префикс предварительного просмотра ноутбука ipython. Я не уверен, почему кто-то хотел бы, чтобы это как функция, или почему она будет работать именно так.
Это странно, я надеюсь, кто-то может объяснить мне, почему это происходит. Я просмотрел документацию groupby и to_excel и посмотрел на кого-нибудь с аналогичной проблемой, но не нашел ее. Я использовал to_excel для dataframes с теми же данными, которые не сгруппированы, и у них не было подобных проблем. На самом деле я даже не понимаю, почему я получаю выходные данные в ноутбуке, поскольку в других случаях я использовал to_excel, я вижу только вывод в файле excel.
Вы говорите: «Сохраните файл данных, который я создал с помощью groupby, в файл excel», но я не вижу этого в вашем коде. 'groupby' не возвращает' DataFrame', он возвращает объект DataFrameGroupBy', который, как я подозреваю, является проблемой. Чтобы убедиться, есть ли какой-нибудь код, который вы оставили? – DSM
Нет, я не оставлял код - просто делал глупые ошибки начинающего. –
Почти по определению, новички не могут совершать глупые ошибки: они новички. Требуется опыт глупых ошибок, накопление которых - это опыт. ; ^) – DSM