我想保存我使用group_ex函數創建使用groupby到excel文件的數據框。當我在ipython筆記本中預覽數據時,它會根據需要顯示。的GROUPBY代碼很簡單:熊貓:與使用分組數據幀的to_excel的問題
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文件中(大約1800行數據中有大約3個),我在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代碼行的變化而變化,我認爲這一行代碼一次只能向文件寫入小塊數據,寫下每一個。
最終文件大小很小(6KB),但是在代碼運行時的某些時間點,文件大小較大(最大爲32KB)。
最後,在ipython數據中顯示的最後幾行數據看起來就是在那些成功寫入excel文件之前的行,這表明由於某種原因,它只保存那些數據行超過ipython筆記本預覽限制。我不確定爲什麼有人會希望將其作爲功能,或者爲什麼它會以這種方式運行。
這是奇怪的,我希望有人可以向我解釋爲什麼會發生這種情況。我查看了groupby和to_excel文檔,並瀏覽了任何有類似問題的人,但還沒有找到它。我用這個相同的數據來處理數據幀,沒有分組,也沒有任何類似的問題。我其實並沒有清楚爲什麼我會在筆記本中獲得輸出,就像我用過的其他時間段一樣,我只能看到excel文件本身的輸出。
你說「將我使用groupby創建的數據框保存到excel文件中」,但我在代碼中看不到它。 'groupby'不返回一個'DataFrame',它返回一個'DataFrameGroupBy'對象,我懷疑是這個問題。爲了確定,有沒有你遺漏的代碼? – DSM
不,我沒有遺漏代碼 - 只是犯了愚蠢的初學者錯誤。 –
幾乎從定義上講,初學者不能犯愚蠢的錯誤:他們是初學者。需要經驗才能犯下愚蠢的錯誤,其中積累的是專業知識。 ; ^) – DSM