【发布时间】:2021-10-22 14:06:34
【问题描述】:
我正在寻找优化一些 python 代码,但我不确定如何解决这个问题,因为我主要使用 python 来分析数据并且硬编码技能有限,所以欢迎任何输入。
我的数据如下所示:
X Y Stock Number
A 10-20 id1 5
A 30-40 id2 7
A 0-10 id3 18
B 30-40 id4 3
B 10-20 id5 9
C 10-20 id6 11
C 0-10 id7 9
我使用 groupby 来分析这个实例中的数据:
# Groupby
=df.groupby(['x', 'y']).agg({'stock':'count','number':'mean'}).reset_index().persist()
groupby.columns=['x', 'y', 'total_stocks', 'mean_number']
# Calculate proportions
groupby['stock_sum'] = df.groupby('y')['total_stocks'].transform('sum')
groupby['proportion'] = groupby['total_stocks'] / groupby['stock_sum']
现在,我在数据集中还有几个变量,例如“X”(我们称它们为 U、V、W、...),我想重复这个 groupby-element。我知道循环和函数的基础知识,我想我可以制作一个 ['X','U','V','W'] 的列表,然后使用一个函数来执行 groupby,但我努力想象我应该如何将列表(并循环其中的项目)合并到函数中。
【问题讨论】:
标签: python pandas performance