キャビン値のシリーズがあります。左はインデックス、右の列はキャビン値を保持します。 sort_valuesメソッドを使用した後は、値を部分的にしかソートできませんでした。タイタニックデータセットのキャビン値を正しくソートするのに問題があります。
x = Cabin_Fare=Cabin_Fare.sort_values(['Cabin' ])
210 A31
186 A32
446 A34
1185 A34
1266 A34
807 A36
97 A
24 A6
175 A7
1058 B10
738 B101
816 B102
1107 B11
330 B18
524 B18
171 B19
691 B20
660 D48
682 D49
626 D50
22 D56
783 D6
276 D7
628 D9
430 E10
718 E101
304 E101
124 E101
461 E12
752 E121
1234 NaN
1252 NaN
1257 NaN
73 NaN
121 NaN
キャビンの文字を並べ替えることができるにもかかわらず、キャビンの文字に付けられた数字で並べ替えるのに問題があります。 だから私の所望の出力が
97 A
24 A6
175 A7
210 A31
186 A32
446 A34
1185 A34
1266 A34
807 A36
1058 B10
1107 B11
330 B18
524 B18
171 B19
691 B20
738 B101
816 B102
........
1234 NaN
1252 NaN
1257 NaN
73 NaN
121 NaN
である私は、NaNの値について特にないんだけど、私は、シリーズの最後にそれらをしたいと思います。孤独な "A"のような唯一のキャビン値には、必要に応じて "0"を追加することができますが、数字の付いていない文字をリストの最初に置きます。
私はいくつかのアイデアを与えられましたが、このコード(下記)が判明し、文字の順番が混乱しています。私はアルファベット順を保持したい。
x.reindex(x[x.notnull()].str[1:].replace('', 0).astype(int).sort_values().index)
可能デュープ:http://stackoverflow.com/questions/29580978/naturally-sorting-pandas-dataframe – EdChum