gpt4 book ai didi

python - Python 百分位数函数

转载 作者:行者123 更新时间:2023-12-01 09:19:52 28 4
gpt4 key购买 nike

是否有一种方便的方法可以根据数据框中其他列的值计算列的百分位数。即每种玩具的价格的第 10 个百分点

我有一种方法可以得到答案,但它很冗长,并且在较大的数据集上效果不佳

import pandas as pd
import numpy as np

data = {'Toy': ['Truck', 'Truck', 'Truck', 'Barbie', 'Snake', 'Barbie'],
'Colour': ['Blue', 'Orange', 'Green', 'Pink','Green','Red'],
'Price': [4, 6, 8, 5, 9, 4]}
df = pd.DataFrame(data)
df

df2 = df.groupby(['Toy'])['Price'].agg([np.sum,np.mean, lambda x:np.percentile(x,q= 10)]).reset_index()
df2

df_result = pd.merge(df,df2, on= 'Toy', how='left')
df_result

哪个输出 - (lambda 是感兴趣的变量) enter image description here

最佳答案

我想说你不需要让这变得如此复杂(创建另一个 df,使用 merge 等)。

你可以简单地做

res = df.groupby("Toy").Price.apply(np.percentile, 10)

并使用索引来匹配结果

df = df.set_index("Toy")
df.loc[:, "Percentile"] = res
df.reset_index()

关于python - Python 百分位数函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50882638/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com