[英]Pandas: Calculate the difference between all rows and a specific row in the dataframe
嗨,我有以下格式的数据:
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
我想计算索引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
例如,在索引7处,计算按以下方式完成:
指数7 [C] = ABS(指数0 [A] - 指数7 [A])+ ABS(指数0 [B] - 指数7 [B])
6 = ABS(2-3)+ ABS(1-6)
用.iloc
subtract
然后对行之间的绝对值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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.