1
Panelはpan.idxmax(軸= 'items')のように、piRSquaredが完全に答えた以下のリンクの質問のように、最大値の行番号またはインデックスを返すことがありますか?python pandas - パネルからローリング最大値の行を特定しますか?
ありがとう!
Panelはpan.idxmax(軸= 'items')のように、piRSquaredが完全に答えた以下のリンクの質問のように、最大値の行番号またはインデックスを返すことがありますか?python pandas - パネルからローリング最大値の行を特定しますか?
ありがとう!
はpd.Panel
オブジェクトがidxmax
メソッドを持っていないpd.Panel
p
dfs = dict(
one=pd.DataFrame(np.random.randint(1, 10, (5, 5))),
two=pd.DataFrame(np.random.randint(1, 10, (5, 5))),
three=pd.DataFrame(np.random.randint(1, 10, (5, 5))),
)
p = pd.Panel(dfs)
p.to_frame().unstack()
を検討してください。しかし、基本的な配列はargmax
メソッドを持っています。私はそれを活用するためにこのカスタム関数を構築しました。
def idxmax(pn, axis=0):
indices = pd.Series(['items', 'major_axis', 'minor_axis'])
idx, col = indices.drop(axis)
return pd.DataFrame(pn.values.argmax(axis),
pn.__getattribute__(idx),
pn.__getattribute__(col))
使用
idxmax(p, 0)
idxmax(p, 1)
idxmax(p, 2)
よくできています。ありがとう、トン。アイテム#をアイテム名に置き換えようとすると、あなたはdictでその名前に戻るでしょうか? – MJS
@MJSのようなもの、はい。 – piRSquared