私は次のようにテーブルをグループ化しています。(['CPUCore', Offline_RetetionAge']
のままにしておく必要があります)の中でindex
でソートしたいのですがどうすればいいですか?私は何を意味することは、このだと思うグループのキー内でソートする
1
A
答えて
1
は明らかにstring
何であるか、object
ので、sort_index
それは英数字のソート:
df = pd.DataFrame({'CPUCore':[2,2,2,3,3],
'Offline_RetetionAge':['100','1','12','120','15'],
'index':[11,16,5,4,3]}).set_index(['CPUCore','Offline_RetetionAge'])
print (df)
index
CPUCore Offline_RetetionAge
2 100 11
1 16
12 5
3 120 4
15 3
print (df.index.get_level_values('Offline_RetetionAge').dtype)
object
print (df.sort_index())
index
CPUCore Offline_RetetionAge
2 1 16
100 11
12 5
3 120 4
15 3
#change multiindex - cast level Offline_RetetionAge to int
new_index = list(zip(df.index.get_level_values('CPUCore'),
df.index.get_level_values('Offline_RetetionAge').astype(int)))
df.index = pd.MultiIndex.from_tuples(new_index, names = df.index.names)
print (df.sort_index())
index
CPUCore Offline_RetetionAge
2 1 16
12 5
100 11
3 15 3
120 4
0コメントによる
EDIT:
print (df.reset_index()
.sort_values(['CPUCore','index'])
.set_index(['CPUCore','Offline_RetetionAge']))
index
CPUCore Offline_RetetionAge
2 12 5
100 11
1 16
3 15 3
120 4
1
:パンダからPD として 輸入パンダは、シリーズをインポートし、データフレーム
# create what I believe you tried to ask
df = DataFrame(\
[[11,'reproducible'], [16, 'example'], [5, 'a'], [4, 'create'], [9,'!']])
df.columns = ['index', 'bla']
df.index = pd.MultiIndex.from_arrays([[2]*4+[3],[10,100,1000,11,512]], \
names=['CPUCore', 'Offline_RetentionAge'])
# sort by values and afterwards by index where sort_remaining=False preserves
# the order of index
df = df.sort_values('index').sort_index(level=0, sort_remaining=False)
print df
声明sort_values
はインデックスで値をソートし、sort_index
は、グループ化を復元複数の行のインデックスの順番を変更することなく、マルチインデックスで同じCPUCore
を使用します。
私は "テーブルごとのグループ"とは何か分かりません。 pd.GroupByオブジェクトがある場合、そのようなsort_values()を使用することはできません。 あなたは何GROUP BYまたはfunctools.partial
とDataFrame.apply
出力を使用再考する必要がある場合があります:使用している場合は、私はあなたの第二のレベルの問題dtype
があると思い
index bla
CPUCore Offline_RetentionAge
2 11 4 create
1000 5 a
10 11 reproducible
100 16 example
3 512 9 !
+0
おかげで、私はここにフォローアップの質問があります:http://stackoverflow.com/questions/41868845/selecting-top-3-elements-within-groupby – sweetyBaby
関連する問題
- 1. MYSQLグループ内の項目をソートしてグループをソートする
- 2. Pyspark groupbyグループ内でソート
- 3. グループ内のデータのソート
- 4. 複合キーのグループに対するCouchDBのソート
- 5. パンダのグループ内の列をソート
- 6. 多次元配列内のキーでソートする方法
- 7. python pandasグループ内でソートして関数を適用する
- 8. グループ、ソートのLINQ
- 9. XSLT:複数の値を持つキーのソートとグループ化
- 10. ssrs内の複数のグループに対する対話型ソート
- 11. グループのソート、ソート、ソートの値をマップする方法
- 12. WPF DataGridをグループ内の値でソートします。
- 13. ListViewグループをソートする?
- 14. Javaでarraylistをグループ化しソートする
- 15. ソートし、上限はMongoDBの中で$グループ内のデータをプッシュする方法
- 16. JQGridグループ内の列とソートを非表示にします
- 17. キーでオブジェクトをソートする(JS)
- 18. 辞書でキーをソートする?
- 19. キーでリスト内の複数の辞書をソートする方法(google babyname exercise_modified)
- 20. r内のグループ内でのグループ化
- 21. Pythonツリーソートされたリスト内の項目のグループのトラバースとソート
- 22. 2つの配列(値、キー)をソートしてから、キーをソートする
- 23. パイソン、どのように内部辞書内のキーで辞書内の辞書をソートする
- 24. キーでソートしないマージテーブル
- 25. データのグループ化とソートR
- 26. UWP ObservableCollectionのソートとグループ化
- 27. MySQLグループ化ソートの問題
- 28. primefacesデータテーブル内でソートする
- 29. UNION内でソートする
- 30. ソルジャーグループ内でソートする
感謝こんにちは、インデックスではなく、 "index column"でソートしたい場合は、 – sweetyBaby
であるので、 'print(df.reset_index()。sort_values(['CPUCore'、 'index'])が必要です。set_index(['CPUCore'、 'Offline_RetetionAge '])) '? – jezrael
ああ、あなたはそれを爪: – sweetyBaby