2016-03-22 39 views
2

私はDataFrameから1つの列を選択した後、Seriesを取得しました。シリーズをどのように並べ替えることができますか?私はSeries.sort()を使用しましたが、動作しません。選択した後Pythonでパンダを使ったソートシリーズ

df = pd.DataFrame({'A': [5,0,3,8], 
        'B': ['B8', 'B9', 'B10', 'B11']}) 
df 

    A B 
0 5 B8 
1 0 B9 
2 3 B10 
3 8 B11 

は、その後、私は '' 列を列 ''

df['A'] 

    A 
0 5 
1 0 
2 3 
3 8 

を選択し、私はシリーズを得たが、Series.sort()で、それは動作しません。

df['A'].sort() 

それはエラーを示しています

は「とValueError:このシリーズは、あなたがコピーを作成する必要がありますその場でソートする、いくつかの他のアレイの図であり、」

だから私はシリーズを使用。シリーズをコピーするcopy()関数、それ以降はシリーズをソートしますが、結果はありません。

df['A'].copy().sort() 

しかし、結果は返されません。

問題を解決するにはどうすればよいですか?

+0

あなたはパンダのどのバージョンを使用していますか? 'df ['A']。sort_values()'は動作しますか? – EdChum

+0

こんにちは@EdChum、私は0.16.2バージョンを使用しますが、sort_values()も廃止予定です。 – xirururu

+2

'sort_values'は新しいメソッドです。' sort'はそれ以降のバージョンでは廃止予定ですので、これに注意してください – EdChum

答えて

3

But there is no result returned.

これは、ソートが設定されているため、オブジェクトを変更するためです。 sort()機能が廃止されましたので、この

A = df['A'].copy() 
A.sort() 
print(A) 
0

を試してみて、1の代わりに(source)ソートインプレース用sort_values(inplace=True)を使用する必要があります。

ので、コードは次のようになります。

A = df['A'].copy() 
A.sort_values(inplace=True) 
関連する問題