Pandas:计算数据框中所有行和特定行之间的差异

Adr*_*ian 2 python dataframe python-3.x pandas difference

您好,我有以下格式的数据:

   A  B
0  2  1
1  2  1
2  2  4
3  2  4
4  3  5
5  3  5
6  3  6
7  3  6
Run Code Online (Sandbox Code Playgroud)

我想计算索引 0 和所有其他索引之间的绝对差之和。这意味着我将计算每一列的差异。取绝对值并对这些值求和。我想创建一个“C”列,如下所示:

    A   B   C
0   2   1   0
1   2   1   0
2   2   4   3
3   2   4   3
4   3   5   5
5   3   5   5
6   3   6   6
7   3   6   6
Run Code Online (Sandbox Code Playgroud)

例如,在索引 7 处,计算按以下方式完成:

索引 7[C] = ABS(索引 0[A]- 索引 7[A]) + ABS(索引 0[B] - 索引 7[B])

6 = ABS(2-3) + ABS(1-6)

ALo*_*llz 5

subtract.iloc然后是sum行间的绝对值:

df['C'] = df.sub(df.iloc[0]).abs().sum(1)

   A  B  C
0  2  1  0
1  2  1  0
2  2  4  3
3  2  4  3
4  3  5  5
5  3  5  5
6  3  6  6
7  3  6  6
Run Code Online (Sandbox Code Playgroud)