看板 Python 關於我們 聯絡資訊
不好意思,想再請問一個問題QQ 問題不太好描述,容我用舉例的@@ USERID .... COLUMNA A 10 A 20 A 30 A 40 A 80 B 20 B 30 B 40 我想問的是 我想給columnA設一個門檻值,根據UserID去區分達到門檻的比例 假設我設的門檻是一個array{20,40,80},然後回傳一個DataFrame,如下所列 USERID THRESHOLD<=20 THRESHOLD<=40 THRESHOLD=80 A 2/5=0.4 4/5=0.8 5/5=1 B 1/3=0.33 3/3=1 3/3=1 . . . . . . . . . . . . 一個column會寫,但多個column只能暴力解一直join,有沒有比較簡潔的用法 一個column的寫法是 df.groupby('USERID').apply( lambda x: ((x['COLUMNA']<=20).sum())/len(x)) 如果可以的話,盡量不要用到for,用for的效率比較差,但有for的解法也可以啦XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.24.98.230 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1518186953.A.4D9.html ※ 編輯: lance5487 (114.24.98.230), 02/09/2018 22:36:58
painkiller: 查查 pandas.cut怎麼用 02/09 23:34
恩恩 長知識了 不知道有這個function XD
HenryLiKing: 你是比賽的吼 02/09 23:34
對阿 你也有參加嗎 快罩小弟我QQ
goldflower: len(df[id]=='A' & df[col]<20)/len(df[id]=='A') ? 02/10 04:14
goldflower: 然後for id in df['id'].unique() 就好了吧 02/10 04:15
最後用暴力法解了 囧 ※ 編輯: lance5487 (114.24.98.230), 02/10/2018 14:35:04
b24333666: 樓上好面熟 02/12 10:16
ar54971: https://goo.gl/2WCUGr 03/06 03:42
galeondx: https://goo.gl/cybm9m 03/06 04:19
galeondx: https://goo.gl/MKaCK6 03/06 04:32
galeondx: https://tinyurl.com/yadsk3lo 03/06 04:45