[英]Percentage between a numerical and categorical variable
Hi I have a dataset like below嗨,我有一个如下所示的数据集
df = pd.DataFrame({"price" :[250,200,100,400,200,110], "segment": ["A","A","C","B","C","B"]})
I want to know how much percentage does each segment spent.我想知道每个细分市场花费了多少百分比。 like
喜欢
A = 35.71%
B = 40.47%
C = 23.82%
I have done through subsetting each segment and then doing percentage of each, but I want to do it in single line.我已经通过对每个段进行子集化然后对每个段进行百分比来完成,但我想在单行中完成。
Thanks in advance.提前致谢。
May be you can try with groupby
and applying lambda
to each group.也许您可以尝试使用
groupby
并将lambda
应用于每个组。 Something like:就像是:
As below:如下:
df.groupby('segment')['price'].apply(lambda g: sum(g)*100.0/df.price.sum())
Result:结果:
segment
A 35.714286
B 40.476190
C 23.809524
Name: price, dtype: float64
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.