我想比较一个数据帧中具有不同频率的两列。频率较小的列在最大频率期间填充相同的值,例如,如果第1列的频率比第2列低4倍:
column1 column2
1 4
1 3
1 8
1 6
2 7
2 8
2 5
2 10
3 12
3 7
3 0
3 3
我们可以看到第1列的值是如何重复的。我想做的是使用一个大小为4的居中窗口进行比较(因为frec2/frec1=4),并在这个比较中获得最大值。所以我们必须得到3个值,因为在最低频率的列中只有3个不同的值。结果必须是:
1 compared with 4,3,8,6
2 compared with 7,8,5,10
3 compared with 12,7,0,3
它们得到绝对值的最大差值,在这种情况下,三个结果值为:
7 (abs(1 - 8))
8 (abs(2 - 10))
9 (abs(3 - 12))
使用由这两列组成的通用数据帧,如何执行此操作? 先谢谢你
您可以获得
column1
减去column2
的绝对值。然后按column1
的唯一值分组,并获得column1
的每个唯一值的绝对值的最大值,如下所示:结果:
如果希望结果显示为数据帧,可以使用:
(我们将新列命名为
max_diff
):结果:
相关问题 更多 >
编程相关推荐