如何在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
相关产品推荐
相关产品推荐

