如何在 Pandas DataFrame 中对经纬度配对进行分组?

Dan*_*zon 3 python dataframe pandas

我有一个看起来像的数据框:

lon        lat
-77.487    39.044
-77.487    39.044
-122.031   37.354
-77.487    39.044
Run Code Online (Sandbox Code Playgroud)

我想将这些 lon-lat 配对与结果计数分组,如下所示:

lon        lat      count
-77.487    39.044   3
-122.031   37.354   1
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?该group()函数似乎只允许按一列分组。

Nic*_*eli 5

您可以使用groupby.size并重命名创建的列,然后重新命名reset_index为所需的dataframe.

print(df.groupby(['lon', 'lat']).size().rename('count').reset_index())

       lon     lat  count
0 -122.031  37.354      1
1  -77.487  39.044      3
Run Code Online (Sandbox Code Playgroud)