全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
1463 4
2018-09-11
有什么函数可以不用for循环,直接将升序的交易量按照group1<group2<group3<group4<group5分成五组,求mean?groupby 和 cut 都没办法解决这个问题

我自己写的for循环
我目前用的笨办法,但是要是数据量大,运行时间就无比长

求助!
谢谢~

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-9-27 20:59:46
我想问一下, 为什么cut无法解决这个问题呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-10-2 21:16:05
你先说明一下为什么groupby  cut都不能解决,或者你直接提供demo数据
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-10-28 22:55:38
groupby + cut,或 qcut, 或 rank 都可以实现你for 中的方法,而且更快。至少快十倍。

在python中如果要用for,那么最好 import numba 库, @JIT @Vector 等方法优化先。 你用的是DataFrame, 但是@JIT不能提高性能,必须再@vector 方法还是蛮复杂的。

我之前在知乎分享过一个用Python分析证券投资最高收益, 最大规模,最小风险的文章。 https://zhuanlan.zhihu.com/p/33532029
里面相关的思路如下:
     grp_rank = grp.agg({"TurnoverValue":recent_mean})
     TV_rank = pd.cut(grp_rank.TurnoverValue,bins=5*np.logspace(7,11,5),labels=["5亿","50亿","500亿","5000亿"])

当时也碰到了不能直接用Groupby 的情况。 其实根本的原因是 没有定义清楚问题或者说数据分析的维度。 例如:是先groupby ,还是先cut先后次序
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-11-6 21:26:44
Wang_Yong 发表于 2018-10-28 22:55
groupby + cut,或 qcut, 或 rank 都可以实现你for 中的方法,而且更快。至少快十倍。

在python中如果要用 ...
非常感谢!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群