在对熊猫数据框索引进行排序时,“ TypeError:'DataFrame'对象是可变的,因此无法进行散列”

发布于 2021-01-29 16:39:09

我有以下数据框h

In [24]: h.head()
Out[24]: 
                 alpha1  alpha2    gamma1  gamma2       chi2min gender  age
filename                                                                   
F35_HC_532d.dat  0.0000   0.000       NaN    0.00  1.000000e+25      F   35
M48_HC_551d.dat  0.7353   3.943  0.425922    0.15  2.072617e+01      M   48
M24_HC_458d.dat  0.7777   4.754  0.463753    0.15  1.390893e+01      M   24
M48_HC_552d.dat  0.7633   3.672  0.394370    0.15  1.965052e+01      M   48
M40_HC_506d.dat  0.7793   3.271  0.513597    0.20  1.089716e+01      M   40

我正在尝试根据年龄值对数据帧索引进行排序:

In [25]: h.sort_index(h.sort_values('age'))

这将引发错误:

TypeError: 'DataFrame' objects are mutable, thus they cannot be hashed

我想念什么?有任何想法吗?

关注者
0
被浏览
182
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    那是你要的吗?

    In [14]: h
    Out[14]:
                     alpha1  alpha2    gamma1  gamma2       chi2min gender  age
    filename
    F35_HC_532d.dat  0.0000   0.000       NaN    0.00  1.000000e+25      F   35
    M48_HC_551d.dat  0.7353   3.943  0.425922    0.15  2.072617e+01      M   48
    M24_HC_458d.dat  0.7777   4.754  0.463753    0.15  1.390893e+01      M   24
    M48_HC_552d.dat  0.7633   3.672  0.394370    0.15  1.965052e+01      M   48
    M40_HC_506d.dat  0.7793   3.271  0.513597    0.20  1.089716e+01      M   40
    
    In [15]: h.sort_values('age')
    Out[15]:
                     alpha1  alpha2    gamma1  gamma2       chi2min gender  age
    filename
    M24_HC_458d.dat  0.7777   4.754  0.463753    0.15  1.390893e+01      M   24
    F35_HC_532d.dat  0.0000   0.000       NaN    0.00  1.000000e+25      F   35
    M40_HC_506d.dat  0.7793   3.271  0.513597    0.20  1.089716e+01      M   40
    M48_HC_551d.dat  0.7353   3.943  0.425922    0.15  2.072617e+01      M   48
    M48_HC_552d.dat  0.7633   3.672  0.394370    0.15  1.965052e+01      M   48
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看