Python 如何在数据帧中对lat-lon对进行分组?

Python 如何在数据帧中对lat-lon对进行分组?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,看起来像: lon lat -77.487 39.044 -77.487 39.044 -122.031 37.354 -77.487 39.044 我想将这些lon-lat对与结果计数分组,如下所示: lon lat count -77.487 39.044 3 -122.031 37.354 1 我该怎么做?group()函数只允许按一列进行分组。请从以下链接查找文档 您可以使用并重命名创建的

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

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

lon        lat      count
-77.487    39.044   3
-122.031   37.354   1

我该怎么做?
group()
函数只允许按一列进行分组。

请从以下链接查找文档

您可以使用并重命名创建的列,后跟
reset\u 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

您可能希望使用
.size()
而不是
.count()
,因为您要查找每个组的大小(而不是每个组中未丢失的值的数量),这会将LON和LAT作为行名而不是行名返回values@DannyDavidLeybzon:这将返回包含分组列的数据帧(
lat
lon
)作为索引。如果您想将它们改为列名,请尝试
df_data.groupby(['lon',lat']).size().reset_index()
@danpelota感谢您指出它。我刚刚更新了答案,以检查大小而不是计数
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