假设我有一个糕点的数据框架
Pastry Flavor Qty
0 Cupcake Cheese 3
1 Cakeslice Chocolate 2
2 Tart Honey 2
3 Croissant Raspberry 1
我得到每个糕点的特定风味的值计数
df[df['Flavor'] == 'Cheese']['Pastry'].value_counts()
Cupcake 4
Tart 4
Cakeslice 3
Turnover 3
Creampie 2
Danish 2
Bear Claw 2
然后,为了得到味道数量的百分位数,我可以这样做
df[df['Flavor'] == 'Cheese']['Pastry'].value_counts().describe(percentiles=[.75, .85, .95])
我会得到这样的结果(来自完整的数据帧)
count 35.00000
mean 1.485714
std 0.853072
min 1.000000
50% 1.000000
75% 2.000000
85% 2.000000
95% 3.300000
max 4.000000
其中,奶酪风味的不同糕点总数为35个,因此,奶酪总量分布在这35个糕点之间。平均数量为1.48,最大数量为4(纸杯蛋糕和蛋挞)等
我想做的是通过计算风味列中所有其他非“奶酪”的值来降低第95个百分位数,但是value_counts()只计算“奶酪”的值,因为我过滤了数据帧。我如何计算非奶酪行,使我的百分位数下降,并代表奶酪总量在整个数据帧中的分布
这是一个示例输出:
Cupcake 4
Tart 4
Cakeslice 3
Turnover 3
Creampie 2
Danish 2
Bear Claw 2
Swiss Roll 1
Baklava 0
Cannoli 0
如果非奶酪风味糕点包含0作为数量,从那里我可以得到百分位数,它们将减少,因为现在有0个值稀释它们
我决定走很长的路去尝试解决这个问题,我的结果给了我与this问题相同的答案
这里有很长的路要走,以防有人好奇
相关问题 更多 >
编程相关推荐