文章详情页
使用python中的pandas求每个值占该列的比例
问题描述
比如我有个dataframe叫df
Prices Amount Action C0 3 57 Sell 11 89 42 Sell 12 45 70 Buy -13 6 43 Sell 14 60 47 Sell 15 19 16 Buy -16 56 89 Sell 17 3 28 Buy -18 56 69 Sell 19 90 49 Buy -1
目前使用的办法是
df[’Prices’].apply(lambda x :x/df[’Prices’].sum())
感觉特别慢,有什么更快的办法吗?
问题解答
回答1:将sum()写在lambda表达式外面,否则每次计算一个x占该列的比例时,又需要重新计算sum(),浪费了大量时间.
回答2:df[’Prices’] = df[’Prices’] / df[’Prices’].sum()
相关文章:
1. 在windows下安装docker Toolbox 启动Docker Quickstart Terminal 失败!2. font-family - 我引入CSS3自定义字体没有效果?3. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?4. macos - mac下docker如何设置代理5. dockerfile - [docker build image失败- npm install]6. objective-c - iOS开发支付宝和微信支付完成为什么跳转到了之前开发的一个app?7. PHP中的$this代表当前的类还是方法?8. angular.js - 求一款angular插件9. java - 我用Tomcat访问SQL server数据库时,出现以下错误,该怎么解决?10. docker start -a dockername 老是卡住,什么情况?
排行榜