:
私は次のことを持っています df
id xx yy time
0 1 553343.041098 4.178420e+06 1
1 1 553343.069815 4.178415e+06 2
2 1 553343.069815 4.178415e+06 3
3 2 553343.950755 4.178415e+06 1
4 2 553341.343829 4.178410e+06 6
それぞれの位置でのある時点で。xx
yy
id
time
私はこの中に余分な列を作成したいと思いますdf
(の最小値から行く別の時間の一点からの距離の差になり、time
内、大きな、など1次大きめの隣に)id
グループ。
そうすることのPython的な方法はありますか?
moys:
あなたは以下のように行うことができます。
私はしませんでしたdf['distance_meters']
、それは簡単ですので。
df['xx_diff']=df.groupby('id')['xx'].diff()**2
df['yy_diff']=df.groupby('id')['yy'].diff()**2
あなたは[「xx_diff」]&[「yy_diff」]あなたのデータフレーム内の列を必要としない場合は、直接以下のコードを使用することができます。
df['distance']= np.sqrt(df.groupby('id')['xx'].diff()**2+df.groupby('id')['yy'].diff()**2)
出力
id xx yy time xx_diff3 yy_diff3 distance
0 1 553343.041098 4178420.0 1 NaN NaN NaN
1 1 553343.069815 4178415.0 2 0.000825 25.0 5.000082
2 1 553343.069815 4178415.0 3 0.000000 0.0 0.000000
3 2 553343.950755 4178415.0 1 NaN NaN NaN
4 2 553341.343829 4178410.0 6 6.796063 25.0 5.638800