パンダのグループバイとの絶対合計を計算するにはどうしたらいいですか?例えばパンダのグループバイとの絶対合計を計算するにはどうしたらいいですか?
、データフレーム所与:私はプレーヤーAの合計スコア(100 + 110 = 210)だけでなく、プレイヤーA(150 + 180 +についての総スコアを持っていると思い
Player Score
0 A 100
1 B -150
2 A -110
3 B 180
4 B 125
を125 = 455)、スコアの符号を無視する。
私は合計を計算するために、次のコードを使用することができます。
import pandas as pd
import numpy as np
frame = pd.DataFrame({'Player' : ['A', 'B', 'A', 'B', 'B'],
'Score' : [100, -150, -110, 180, 125]})
print('frame: {0}'.format(frame))
total_scores = frame[['Player','Score']].groupby(['Player']).agg(['sum'])
print('total_scores: {0}'.format(total_scores))
が、どのように私はGROUPBYで絶対和を計算することができますか?
frame[['Player','Score']].abs().groupby(['Player']).agg(['sum'])
は当然返します
Traceback (most recent call last):
File "O:\tests\absolute_count.py", line 10, in <module>
total_scores = frame[['Player','Score']].abs().groupby(['Player']).agg(['sum'])
File "C:\Users\dernoncourt\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\generic.py", line 5518, in abs
return np.abs(self)
TypeError: bad operand type for abs(): 'str'
私はデータフレームを変更する必要はありません。
あなたがラムダでDataFrameGroupBy.apply
を使用することができます
ちょうど質問です:「np.abs」で 'np.absolute'を使う理由は何ですか? –
@JonasAdler特に理由はありません... –