[问题]groupby 做逻辑判断?

楼主: gene50814 (genechen)   2020-05-03 16:46:50
各位大大好
小弟有个时间序列的资料
范例如下:
https://i.imgur.com/1Z6Or19.jpg
小弟想做的事是要算每个月各公司市值的中位数 若公司大于等于中位数则新的column给
值’big’,反之则’small’
想完成的感觉如下图:
https://i.imgur.com/1urJNVp.jpg
小弟想应该是要先把date groupby起来,但不知道该如何做后续的逻辑判断
请各位大大指教了 谢谢
作者: yuasa (XD)   2020-05-03 20:09:00
你用pandas吗?这两个表除了多了B/S栏差在哪?你的B/S决定的条件是?
作者: TitanEric (泰坦)   2020-05-03 22:27:00
楼上你没看内文齁
楼主: gene50814 (genechen)   2020-05-04 01:37:00
是用pandas的 后来我是用join把groupby之后的series加到原本的df再做逻辑判断 不知道有没有更好的作法?
作者: moodoa3583 (金牌台灣啤酒)   2020-05-04 12:52:00
如果是用data[B/S] = data[MarketValue].apply(lambdax:True if x >np.median(data[MarketValue]) else False) 呢?*>=
作者: lycantrope (阿宽)   2020-05-12 10:05:00
for date, tempdf in data.groupby("date"):BS = tempdf["Price"] > tempdf["Price"].median()df.loc[BS.index,"B/S"] = BS打错df改成date data.loc[BS.index,"BS"] = BS把groupby 当iter for loop 判断逻辑直接输入data

Links booklink

Contact Us: admin [ a t ] ucptt.com