You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python DataFrame中计算各动物位置与中位数的Standard Deviation

计算动物位置与其中位数的标准差问题

问题背景

我有一个记录一组动物各次位置信息的DataFrame,字段说明:

  • ANIMAL N°:代表不同动物的编号
  • X:动物在x轴上的位置
  • Y:动物在y轴上的位置

原始数据如下:

ANIMAL N°       X        Y      
 11           2474  2704.30        
 4            2603  2992.07        
 11           2806  2716.43      
 6            3262  2977.39        
 11           2907  2960.50 
 6            2474  2704.30      
 4            2603  2992.07        
 11           2806  2716.43      
 6            3262  2977.39        
 11           2907  2960.50 

已完成的预处理

我已经通过以下代码计算出每个动物X和Y的中位数,生成了Median X和Median Y列,以此获取动物的大致位置:

Df['Median X'] = Df['X'].groupby(Df['ANIMAL N°']).transform('median')
Df['Median Y'] = Df['Y'].groupby(Df['ANIMAL N°']).transform('median')

处理后的DataFrame输出如下:

ANIMAL N°       X        Y    Median X  Median Y  
 11           2474  2704.30   2470.38   2707.44     
 4            2603  2992.07   2610.29   2978.06     
 11           2806  2716.43   2470.38   2707.44   
 6            3262  2977.39   3255.30   2968.06     
 11           2907  2960.50   2470.38   2707.44
 6            2474  2704.30   3255.30   2968.06    
 4            2603  2992.07   2610.29   2978.06     
 11           2806  2716.43   2470.38   2707.44   
 6            3262  2977.39   3255.30   2968.06     
 11           2907  2960.50   2470.38   2707.44

当前需求与问题

现在我需要计算每个动物的X/Y与对应Median X/Median Y之间的标准差,以此评估位置检测的精度。但我尝试的以下代码无法正常运行:

Df['StDv X'] = Df['Median X'].groupby(Df['ANIMAL N°']).std(Df['X'])
Df['StDv y'] = Df['Median y'].groupby(Df['ANIMAL N°']).std(Df['Y'])

内容的提问来源于stack exchange,提问作者toms

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 08:25:31