私は約20列のデータフレームを持っていますが、IDと呼ばれる1列のgroupbyが必要です。 2列。 例DF:Groupby 1列で、パンダの他の2列の差の最大(絶対値)を見つけよう
ID value1 value2
1 3 2
1 6 2
2 6 1
3 5 8
4 7 2
4 3 2
所望の出力:
ID value1 value2 maxabs
1 3 2 4
1 6 2 4
2 6 1 5
3 5 8 3
4 7 2 5
4 3 2 5
私はこれを単純に試してみた:
df['maxabs'] = df.groupby(['ID'])[(df['value1'] - df['value2'])].abs().idxmax()
エラーは列が見つからないことを言った、私に "の多くを印刷しましたnan '。確かに、列はそこにあります。たぶん、両方の値が 'nan'で印刷されるときに追加する必要があります。 しかし私が方向を打つことさえ確信していない。
に慣れ、
merge
またはjoin
を使用することができます...ありがとう:) – jovicbg