在pandas的unstack時報ValueError: duplicate entries 錯誤

pandas是python中用於數據分析和處理的一個基於numpy的基本庫工具,是從事python語言數據領域的一個基本入門工具,常見用途有:
a提供高級的數據結構和相當豐富的數據操作API
b提高了對複雜矩陣運算的效率(這裏的矩陣,目前可簡單視作Excel數據表,自己腦補一下)
c提供了數據清洗和處理功能
d幫助數據挖掘挖掘分析

迴歸正題:代碼如下(環境:anaconda3+python3)
在pandas的unstack時報ValueError: duplicate entries 錯誤
在pandas的unstack時報ValueError: duplicate entries 錯誤
運行代碼時:
在pandas的unstack時報ValueError: duplicate entries 錯誤

pandas兩個重要的數據結構:Series和DataFrame
對象方法unstack(): Series對象的API,用於將Series的數據類型轉DataFrame類型,因爲DataFrame提供的數據操作API遠遠多於Series。(Series視作一維,DataFrame視作高維數據,類比一維數組和高維度數組)
用unstack操作的數據必須唯一標識,而打印obj1如下:
在pandas的unstack時報ValueError: duplicate entries 錯誤
存在重複,unstack不能唯一區分,故轉換失敗報錯ValueError: Index contains duplicate entries, cannot reshape, 解決方式:修改字母索引名或者數字索引,只要能夠唯一標識即可,如將重複的1改爲2(這裏不能爲3)或改爲字母在pandas的unstack時報ValueError: duplicate entries 錯誤
將層次索引的外層索引(這裏指a,b,c)作爲DataFrame的行索引,內層索引(1,2,3....)作爲列索引.結果打印如下:
在pandas的unstack時報ValueError: duplicate entries 錯誤

思考一下: 既然Series轉DataFrame,可使用unstack()[解包], 那DataFrame轉Series用什麼方法?

在pandas的unstack時報ValueError: duplicate entries 錯誤
答案: 使用stack() [打包]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章