首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得python中每个值的IQR

如何获得python中每个值的IQR
EN

Stack Overflow用户
提问于 2020-06-11 13:39:30
回答 1查看 77关注 0票数 0

数据如下(df)

代码语言:javascript
复制
id,cost,spend
1,123456,281257
2,150434,838451
3,100435,757565
4,650343,261071
5,-454236,275760
6,-547296,239225

如何获得每个值的IQR

输出>> id,cost,cost_IQR,spend,spend_IQR

下面的Z分数是我的代码

代码语言:javascript
复制
cols = list(df.columns)
cols.remove('id')
#df[cols]

for col in cols:
    col_zscore = col + '_zscore'
    df[col_zscore] = (df[col] - df[col].mean())/df[col].std(ddof=0)

和上面的代码一样,我生成了cost_zscore,spend_zscore,如何生成cost_IQR, spend_IQR

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-11 14:24:44

代码语言:javascript
复制
df['cost_IQR'] = df.cost.quantile(.75) - df.cost.quantile(.25)
df['spend_IQR'] = df.spend.quantile(.75) - df.spend.quantile(.25)

或者在for循环中:

代码语言:javascript
复制
df[col + '_IQR'] = df[col].quantile(.75) - df[col].quantile(.25)

结果:

代码语言:javascript
复制
   id    cost   spend   cost_IQR  spend_IQR
0   1  123456  281257  459257.75  373744.75
1   2  150434  838451  459257.75  373744.75
2   3  100435  757565  459257.75  373744.75
3   4  650343  261071  459257.75  373744.75
4   5 -454236  275760  459257.75  373744.75
5   6 -547296  239225  459257.75  373744.75
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62325755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档