以下是一个示例代码,用于按组计算一个观察值与所有其他观察值之间的差异:
import pandas as pd
# 创建示例数据
data = {'Group': ['A', 'A', 'B', 'B', 'B', 'C'],
'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 按组计算差异
df['Difference'] = df.groupby('Group')['Value'].transform(lambda x: x - x.mean())
print(df)
输出结果如下:
Group Value Difference
0 A 1 -0.5
1 A 2 0.5
2 B 3 -1.0
3 B 4 0.0
4 B 5 1.0
5 C 6 0.0
在以上代码中,我们首先创建了一个包含分组和观察值的示例数据框。然后,使用groupby
方法按组对数据进行分组。接着,使用transform
函数计算每个观察值与其所在组的平均值之间的差异,并将结果存储在新的Difference
列中。最后,打印输出数据框。