文章详情页
使用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. HTML5禁止img预览该怎么解决?2. python - 一个域名可以绑定多台服务器吗?3. angular.js - 在ionic下,利用javascript导入百度地图,pc端可以显示,移动端无法显示4. Windows环境开俩个CMD窗口操作MySQL测试加锁的疑问5. css - 新手做响应式布局, 断点过后右侧出现空白,求帮助,谢谢。6. mybatis - Java关于Mysql的随机id生成7. mysql - 数据库建字段,默认值空和empty string有什么区别 1108. dologin说是没有定义9. javascript - 求助关于js正则问题10. 怎么学好php
排行榜