2017-03-27 1 views
2

を仕分けしながら、私は、次のデータフレームhあります「TypeError例外: 『DATAFRAME』オブジェクトは変更可能です。したがって、彼らはハッシュ化することができない」パンダのデータフレームインデックス

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 

ssing?何か案は?

+0

「h.sort_values( 'age') '?あなたは望ましいデータセットを提供できますか? – MaxU

+0

@マックス:私はあなたを取得していないと思う。私は 'age'値に従ってデータフレームの行を整理しようとしています。 – Peaceful

答えて

2

は何をしたいということですか?

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 
+1

私は今実現しました。そのとおり。私は愚かな間違いをしていた。 – Peaceful

1

あなたのインデックスはファイル名であると思います。たぶんあなたは次のようなものを試すことができます:

h['index1'] = h.index 
h.sort_values(by=['index1', 'age']) 

しかし、それは順序を変えないのであまり意味がありません。また、あなたは試すことができます:

h.sort_values(by='age') 

を次に:

h.reindex([range(some_number)]) 
+0

それは別の方法です。私は自分の方法で何が間違っているか知りたい。 – Peaceful

+0

あなたのメソッドの問題点は、ファイル名が数字でないことです –

関連する問題