【发布时间】:2021-07-16 20:26:21
【问题描述】:
我有一个带有id 的熊猫数据框df,以及粒子组的物理坐标(x, y)。
我想通过以下步骤使用熊猫数据框:groupby 与id,计算每个粒子距其中心的距离R=np.sqrt((x-x_c)**2+(y-y_c)**2)。
x_c 和 y_c(中心坐标)计算自:
df2=df.groupby('id', as_index=False)['x','y'].mean()
df2.columns=['id', 'x_c', 'y_c']
从此数据框:
id x y
0 33434.0 57580.40 65684.5
1 33434.0 57580.10 65684.8
2 33434.0 57580.20 65684.6
3 33434.0 57580.40 65684.8
... ... ...
817526 5621337.0 37264.00 53945.2
817527 5621337.0 57161.90 65303.3
817528 5621337.0 57287.80 65933.2
817529 5621337.0 58111.30 66987.5
我想获取这个数据框:
id x y R
0 33434.0 57580.40 65684.5 0.21505813
1 33434.0 57580.10 65684.8 0.21505813
2 33434.0 57580.20 65684.6 0.10606601
3 33434.0 57580.40 65684.8 0.17677669
... ... ...
817526 5621337.0 37264.00 53945.2 17707.67
817527 5621337.0 57161.90 65303.3 5220.65
817528 5621337.0 57287.80 65933.2 5630.37
817529 5621337.0 58111.30 66987.5 6895.2
谢谢!
【问题讨论】:
标签: python pandas dataframe group-by pandas-groupby