您的位置:首页技术文章
文章详情页

使用python中的pandas求每个值占该列的比例

【字号: 日期:2022-07-12 10:37:05浏览:44作者:猪猪

问题描述

比如我有个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()

标签: Python 编程
相关文章: