Re: [問題] pandas 問題

作者: lance5487 ( )   2018-02-09 22:35:50
不好意思,想再請問一個問題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
作者: painkiller (肚子餓~)   2018-02-09 23:34:00
查查 pandas.cut怎麼用
作者: HenryLiKing (HenryLiKing)   2018-02-09 23:34:00
你是比賽的吼
作者: goldflower (金色小黃花)   2018-02-10 04:14:00
len(df[id]=='A' & df[col]<20)/len(df[id]=='A') ?然後for id in df['id'].unique() 就好了吧
作者: b24333666 (比飛笨)   2018-02-12 10:16:00
樓上好面熟
作者: ar54971   2018-03-06 03:42:00

Links booklink

Contact Us: admin [ a t ] ucptt.com