首页 > 解决方案 > 如何从数据框中的分类变量中找到定量变量的平均值?

问题描述

假设我在熊猫中有以下数据框:

data = {'State':['CA', 'CA', 'CA', 'CA', 'NY', 'NY', 'TX'],
        'Cost':[20, 30, 40, 50, 60, 70, 70]}
test = pd.DataFrame(data)
print(test.head(7))

这将是以下

  State  Cost
0    CA    20
1    CA    30
2    CA    40
3    CA    50
4    NY    60
5    NY    70
6    TX    70

在这种情况下,加利福尼亚的平均成本为 35,纽约的平均成本为 65,德州的平均成本为 70。

这是我的问题:pandas 中的查询是什么,我们可以在其中找到给定状态的状态的平均成本?

标签: pythonpandas

解决方案


使用groupbymean

print(test.groupby('State').mean())

哪个输出:

       Cost
State      
CA       35
NY       65
TX       70

如果你想要一个清洁工DataFrame

print(test.groupby('State', as_index=False).mean())

这使:

  State  Cost
0    CA    35
1    NY    65
2    TX    70

推荐阅读