首页 > 解决方案 > 如何找到列中某些值的中位数和平均值?

问题描述

我有一个大的 csv 文件,我正在尝试查找列中某些值的中值和平均值。我的一个专栏的标题是“种族”,另一个专栏叫做“debt_to_income_ratio”。在种族列中,四个选项是“白人”、“黑人”、“西班牙裔”和“其他”。“debt_to_income_ratio”列中有一个数字,表示“种族”列中任何种族的债务与收入比率。我试图获得每个种族(白人、黑人、西班牙裔和其他人)的中位数和平均债务与收入比率。

我目前使用的代码是:

df['race average'] = df.groupby('Race')['debt_to_income_ratio'].transform('mean') %>%
df['race median'] = df.groupby('Race')['debt_to_income_ratio'].transform('median')

我不确定我应该做什么,所以提前感谢您的帮助!

标签: r

解决方案


我们可以使用dplyr来做到这一点

library(dplyr)
df %>%
    group_by(Race) %>%
    mutate(Mean = mean(debt_to_income_ratio, na.rm = TRUE),
           Median = median(debt_to_income_ratio, na.rm = TRUE))
   

推荐阅读