我正在嘗試計算一個包含每個組的最大值的新列。我從Stata的背景的,所以我知道塔塔代碼將是這樣的:Python Pandas在一個組中的最大值作爲一個新列
by group, sort: egen max = max(odds)
例如:
data = {'group' : ['A', 'A', 'B','B'],
'odds' : [85, 75, 60, 65]}
那麼我想它看起來像:
group odds max
A 85 85
A 75 85
B 60 65
B 65 65
最終我試圖組成一個需要1/(max-min) * odds
的列,其中max
和min
是針對每個組的。
爲什麼B組不是最大'65'? – EdChum
無論如何,如果你追求的是你所描述的那麼'df ['max'] = df.groupby('group')['odds']。transform('max')'將起作用 – EdChum