Python 熊猫们分组,但保留另一列
假设我有一个看起来像这样的数据帧Python 熊猫们分组,但保留另一列,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,假设我有一个看起来像这样的数据帧 date location year 0 1908-09-17 Fort Myer, Virginia 1908 1 1909-09-07 Juvisy-sur-Orge, France 1909 2 1912-07-12
date location year
0 1908-09-17 Fort Myer, Virginia 1908
1 1909-09-07 Juvisy-sur-Orge, France 1909
2 1912-07-12 Atlantic City, New Jersey 1912
3 1913-08-06 Victoria, British Columbia, Canada 1912
location
year
1908 1 1
1909 1 1
1912 2 2
我想使用pandas groupby函数创建一个输出,该输出按年份显示事件总数,但同时保留位置列,该列将显示当年的一个位置。任何一个有效的。所以它看起来像这样:
total location
year
1908 1 Fort Myer, Virginia
1909 1 Juvisy-sur-Orge, France
1912 2 Atlantic City, New Jersey
这可以不做时髦的加入吗?我最多只能用普通的groupby
df = df.groupby(['year']).count()
但这只会让我有这样的感觉
date location year
0 1908-09-17 Fort Myer, Virginia 1908
1 1909-09-07 Juvisy-sur-Orge, France 1909
2 1912-07-12 Atlantic City, New Jersey 1912
3 1913-08-06 Victoria, British Columbia, Canada 1912
location
year
1908 1 1
1909 1 1
1912 2 2
如何显示此数据框中的一个位置?您可以使用和使用'first'
提取每个组中的第一个位置:
res = df.groupby('year')['location'].agg(['first', 'count'])
print(res)
# first count
# year
# 1908 Fort Myer, Virginia 1
# 1909 Juvisy-sur-Orge, France 1
# 1912 Atlantic City, New Jersey 2