2 回答

TA貢獻1993條經驗 獲得超6個贊
源 DataFrame 中的年份列很可能是int類型,因此數據透視表中的相應列也具有“整數”(而不是“字符串”)名稱(運行mean1.info()
以檢查列類型)。
因此,第一個強制更正是將第一個參數更改為整數 2000。
我認為另外兩個更正是可取的,但不是必需的:ascending和axis參數的默認值分別為True和0,因此如果您想讓代碼更短,可以省略它們。
因此,將有問題的行替換為:
mean1 = mean1.sort_values(2000)

TA貢獻1820條經驗 獲得超10個贊
如果你想對每一列進行獨立排序,它與以下內容相同:
import numpy as np
mean2 = pd.DataFrame(np.sort(mean1.values, axis=0), index=mean1.index, columns=mean1.columns)
這將為您提供一個 DataFrame,其中每列單獨排序。
Year? ? ? ? ? ?2000? ? ? 2001? ? ? 2002? ? ? 2018? ? ? 2019? ? ? Mean
DayOfYear? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
1? ? ? ? ? 0.408640? 0.401072? 0.386432? 0.417026? 0.313664? 0.389379
2? ? ? ? ? 0.427589? 0.407190? 0.394478? 0.417384? 0.316989? 0.393321
3? ? ? ? ? 0.428700? 0.418132? 0.404171? 0.419587? 0.318795? 0.397645
4? ? ? ? ? 0.429745? 0.423607? 0.414502? 0.420361? 0.322804? 0.402706
5? ? ? ? ? 0.433425? 0.433016? 0.420326? 0.423164? 0.328385? 0.402785
但現在索引根本沒有意義,因為所有單元格都已重新排序。所以也許您需要重新索引它。
添加回答
舉報