我有一个数据集,我与大熊猫透视表从大到小的顺序蟒蛇
data = pd.excel('.../data.xlsx)
读,然后我用透视表组织的寄托都
newdata = data.pivot_table(index=["Block", "Conc", "Replicate"], columns=["Name"], values="F532Mean-B532") '
数据透视表看起来是这样的(实际的表的格式有点不同,我在这里手动键入表格:
Block conc replicate nameA nameB nameC ..
1
0 1 2225 12 333
2 3 423 52
3 53 88 239
0.01 1 24 53 923
2 454 253 53
3 4 5 23
10 1 34 53 923
2 44 253 53
3 11 49 232
2
0 1 234 634 39
.....
一切看起来都不错,除了我想要的“浓”列是按降序排列,所以不是0,0.01,10,我想它是10,0.01%,0。
Conc
10
0.01
0
...
我在网上搜索,发现一对夫妇的职位与这种代码:
key1 = newdata.index.labels[0]
key2 = newdata['Concentration'].rank(ascending=False)
sorter = np.lexsort((key2, key1))
sorted_df = newdata.take(sorter)
sorted_df.to_excel('pivottable.xlsx')
的它给了我
KeyError: 'Concentration'
我认为问题是,在线例子都只有2个级别,在这里我有超过2级。这是什么方法?
@Andy Hayden一个新问题:) – Jessica