pandas学習:seriesとdataframeをソートする
1347 ワード
この質問は主にインデックスまたは値に基づいてseriesとdataframeをソートする方法を書きます.
コード:
実験結果:
b a d c one 2 4 1 5 two 3 1 4 5 three 5 1 4 2 b 3 a 4 d 1 c 6 dtype:int 64 seriesインデックスでソート:a 4 b 3 c 6 d 1 dtype:int 64 series値でソート:d 1 b 3 a 4 c 6 dtype:int 64 dataframe行インデックスで降順ソート(ソート時デフォルト昇順、ascendingパラメータ調整):b a d c two 3 1 4 5 three 5 1 4 2 one 2 4 1 5 dataframeカラムインデックスに基づいてソート:a b c d one 4 5 1 two 1 3 4 three 1 5 2 4 dataframe値に基づいてソート:b a d c two3 1 4 5 three 5 1 4 2 one 2 4 1 5 2インデックスでソート:b a d c three 5 1 4 2 two 3 1 4 5 one 2 4 1 5[Finished in 1.0 s]
コード:
#coding=utf-8
import pandas as pd
import numpy as np
# 。
series=pd.Series([3,4,1,6],index=['b','a','d','c'])
frame=pd.DataFrame([[2,4,1,5],[3,1,4,5],[5,1,4,2]],columns=['b','a','d','c'],index=['one','two','three'])
print frame
print series
print 'series :'
print series.sort_index()
print 'series :'
print series.sort_values()
print 'dataframe ( , ascending ):'
print frame.sort_index(ascending=False)
print 'dataframe :'
print frame.sort_index(axis=1)
print 'dataframe :'
print frame.sort_values(by='a')
print ' :'
print frame.sort_values(by=['a','c'])
実験結果:
b a d c one 2 4 1 5 two 3 1 4 5 three 5 1 4 2 b 3 a 4 d 1 c 6 dtype:int 64 seriesインデックスでソート:a 4 b 3 c 6 d 1 dtype:int 64 series値でソート:d 1 b 3 a 4 c 6 dtype:int 64 dataframe行インデックスで降順ソート(ソート時デフォルト昇順、ascendingパラメータ調整):b a d c two 3 1 4 5 three 5 1 4 2 one 2 4 1 5 dataframeカラムインデックスに基づいてソート:a b c d one 4 5 1 two 1 3 4 three 1 5 2 4 dataframe値に基づいてソート:b a d c two3 1 4 5 three 5 1 4 2 one 2 4 1 5 2インデックスでソート:b a d c three 5 1 4 2 two 3 1 4 5 one 2 4 1 5[Finished in 1.0 s]