python - 计算数据框列中间隔的标准偏差
问题描述
我想计算非滚动间隔的标准偏差。
我有一个这样的df:
value std year
3 nan 2001
2 nan 2001
4 nan 2001
19 nan 2002
23 nan 2002
34 nan 2002
等等。我只想计算每年的标准偏差并将其保存在“std”中相应行的每个单元格中。我每年都有相同数量的数据,因此间隔的长度永远不会改变。
我已经尝试过:
df["std"] = df.groupby("year").std()
但由于右边给出了一个新的数据框,它计算每一列的标准值,这显然是行不通的。
非常感谢大家的支持!
解决方案
国际大学联盟:
通过transform()
方法尝试:
df['std']=df.groupby("year")['value'].transform('std')
或者
如果要查找多列的标准差,则:
df[['std1','std2']]=df.groupby("year")[['column1','column2']].transform('std')
推荐阅读
- ios - UICollectionView 布局在滚动时表现异常
- java - 错误:无法访问 com.google.android.gms.internal.zzeuq 的 zzeuq 类文件,请不要找到
- r - R ggplot2 geom_bar 具有 3 个维度,没有刻面
- python - Google Colab 上的“OSError:没有可用的默认输入设备”
- ios - iOS - 需要为使用相同种子的游戏创建挑战
- python - 有没有办法确定列表的元素是否与另一个列表的元素(相同索引)匹配?
- javascript - 通过http请求mysql插入表后记录丢失
- powershell - 如何在 powershell Get-Counter 脚本中选择进程 ID (PID)?
- makefile - Make中的通配符模式匹配
- javascript - 为什么我的 for 循环没有在其块中注册第一行?