我已经解决了与使用数据透视表对列进行排序相关的所有问题,但找不到我需要的东西。我有一个这样的数据框:
Date Moisture Accum Year DayOfYear
0 2000-01-01 0.408640 0.408640 2000 1
1 2000-01-02 0.433425 0.842065 2000 2
2 2000-01-03 0.429745 1.271810 2000 3
3 2000-01-04 0.427589 1.699399 2000 4
4 2000-01-05 0.428700 2.128098 2000 5
我从中创建了一个数据透视表,并根据现有数据计算了另一列:
mean1 = pd.pivot_table(c1, index = 'DayOfYear', columns = 'Year', values = 'Moisture')
mean1['Mean'] = mean1.mean(axis = 1)
我得到了这样的东西:
Year 2000 2001 2002 ... 2018 2019 Mean
DayOfYear ...
1 0.408640 0.433016 0.420326 ... 0.423164 0.328385 0.401896
2 0.433425 0.423607 0.414502 ... 0.419587 0.322804 0.398434
3 0.429745 0.418132 0.404171 ... 0.417384 0.318795 0.396913
4 0.427589 0.407190 0.394478 ... 0.420361 0.316989 0.398425
5 0.428700 0.401072 0.386432 ... 0.417026 0.313664 0.396777
我想对每年的值进行排序,但我无法实现。我试过这个:
mean1 = mean1.sort_values('2000', ascending = True, axis = 0)
但我明白了KeyError: '2000'。我还尝试按我从(“水分”)制作数据透视表的值进行排序,作为对建议的其他问题的回答,但它一直显示类似的错误。如果我尝试对“平均值”列中的值进行排序,我确实会得到排序后的列,但对于年份列(例如“2000”),它(显然)无法完成。我缺少什么?
ibeautiful
拉莫斯之舞
相关分类