2 回答
TA贡献1993条经验 获得超5个赞
源 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
但现在索引根本没有意义,因为所有单元格都已重新排序。所以也许您需要重新索引它。
添加回答
举报