gpt4 book ai didi

python - 如何在 Pandas 中一次计算均值和标准差?

转载 作者:行者123 更新时间:2023-11-28 20:36:28 27 4
gpt4 key购买 nike

例如,我们有这样的数据:

>>> df
name score times
0 tom 100 1
1 tom 99 2
2 tom 100 3
3 jack 99 1
4 jack 99 2
5 tony 100 1
6 tony 100 2
7 tony 100 3

我想得到这样的结果

   name       score std
0 jack 99.000000 0
1 tom 99.666667 0.57
2 tony 100.000000 0

是否可以立即得到结果?现在我必须分别计算它们并合并结果

最佳答案

您可以应用agg 函数来计算mean

df = df.groupby('name').agg({'score': ['mean', 'std']})

然后你会得到multiindex dataFrame,提取层级做如下操作。

df = df.xs('score', axis=1, drop_level=True)
# 'score' : key on which to get cross section
# axis=1 : get cross section of column
# drop_level=True : returns cross section without the multilevel index

按照您给定的输出执行以下操作:

df = df.reset_index('name')

然后重命名

df.rename(columns={"mean":"score"}, inplace=True)

输出:

   name       score      std
0 jack 99.000000 0.00000
1 tom 99.666667 0.57735
2 tony 100.000000 0.00000

关于python - 如何在 Pandas 中一次计算均值和标准差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44922138/

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