(ラベルの代わりに)インデックスラベルをグループ化することはできますか?おそらく私は何かを見逃しているので、これは簡単なはずです。pandas groupbyインデックス値
import pandas as pd
import numpy as np
df = pd.DataFrame([['a', 'b', 'c'],
['a', 'a', 'b'],
['b', 'b', 'c']],
index=['q', 'r', 's'],
columns=['x', 'y', 'z'])
df
x y z
q a b c
r a a b
s b b c
これは私が期待するように動作します
df.groupby('x', axis=0).agg(sum)
y z
x
a ba cb
b b c
しかしこれはKeyError
で
df.groupby('s', axis=1).agg(sum)
を失敗しました。私は何を出すために望んでいるだろう
は次のとおりです。
s b c
q ab c
r aa b
は、インデックス値をGROUPBYすることが可能ですか?私はテーブルを転置することができますが、複数のグループを実行する必要があります。それを避けることができれば、エラーが発生しにくくなります。また、axis
パラメータでgroupbyを適用する軸が指定されていない場合はどうなりますか?
あなたは 'df.groupby(level = 'b'、axis = 1).agg(sum)'を意味しますか? – EdChum
ありがとう、私は何をしようとしていたのか分かりませんでしたので、私は質問を編集しました。私はマルチインデックスを持っていません。 – johnchase
私の意見では、転位は「正しい」アプローチです。すべてのgroupbyオプションは、どの列の値をグループ化するのかを前提にしています。あなたは転位の使用を含まないように答えを制限しているので、多くの答えを得なければ驚かないでください。私は間違っていると思う、私は好奇心が強い。 – piRSquared