搜索

首页  >  问答  >  正文

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

比如我有个dataframe叫df

   Prices  Amount Action  C
0       3      57   Sell  1
1      89      42   Sell  1
2      45      70    Buy -1
3       6      43   Sell  1
4      60      47   Sell  1
5      19      16    Buy -1
6      56      89   Sell  1
7       3      28    Buy -1
8      56      69   Sell  1
9      90      49    Buy -1

目前使用的办法是

df['Prices'].apply(lambda x :x/df['Prices'].sum())

感觉特别慢,有什么更快的办法吗?

滿天的星座滿天的星座2789 天前1871

全部回复(2)我来回复

  • 怪我咯

    怪我咯2017-05-18 10:57:04

    sum()写在lambda表达式外面,否则每次计算一个x占该列的比例时,又需要重新计算sum(),浪费了大量时间.

    回复
    0
  • 某草草

    某草草2017-05-18 10:57:04

    雷雷

    回复
    0
  • 取消回复