私は検索しましたが、パンダのデータフレームをアンスタッキングして並べ替える方法の解決策を見つけることができませんでした。パンダのデータフレームの展開と並べ替え
私は、次のデータフレームがあるとします。
df = pd.DataFrame({'type': [1, 2, 2, 1, 2, 1, 2, 1, 2, 2],
'band': ['A', 'B', 'C', 'C', 'B', 'B', 'A', 'A', 'B', 'C'],
'val': [0.18, 0.19, 0.20, 0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27]})
私は'type'
と'band'
でグループの両方の次元を越え平均値を取得し、列など'band'
を表示するためにunstack()
を使用することができます:
df.groupby(['type', 'band']).mean().unstack(level=1)
マイ質問は、降順(またはより一般的には、任意にソートされた)順に列を並べ替えるにはどうすればよいですか?
出力は次のようになります。
val
band A B C
type
1 0.215 0.230000 0.210
2 0.240 0.223333 0.235
私が欲しいものは以下の通りです:
実際にval
band C B A
type
1 0.210 0.230000 0.215
2 0.235 0.223333 0.240
、私は3列よりも多くを持っています。
私は個人的にちょうど降順ソートを行いたいが、私はちょうど好奇心のためにそれを一般化する方法を求めていた@ayhan。いくつかの関数に基づいてソートすることが想像できますが、私は特別な例を念頭に置いていません。 – pault