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

发布于 2022-09-04 21:26:00 字数 503 浏览 10 评论 0

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苏辞 2022-09-11 21:26:00
df['Prices'] = df['Prices'] / df['Prices'].sum()
夜血缘 2022-09-11 21:26:00

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文