Shi*_*ash 1 python group-by pandas
id marks year
1 18 2013
1 25 2012
3 16 2014
2 16 2013
1 19 2013
3 25 2013
2 18 2014
Run Code Online (Sandbox Code Playgroud)
假设现在我通过python命令将上面的id分组.
grouped = file.groupby(file.id)
我想获得一个新文件,每个组中只有一行,最近一年是该组中一年中最高的一年.
请告诉我这个命令,我正在尝试使用apply但它只给出了布尔表达式.我想要最新一年的整行.
我用这个拼凑了这个:Python:使用groupby获取组中具有最大值的Row
所以基本上我们可以通过'id'列进行分组,然后调用transform
'year'列并创建一个布尔索引,其中年份匹配每个'id'的最大年份值:
In [103]:
df[df.groupby(['id'])['year'].transform(max) == df['year']]
Out[103]:
id marks year
0 1 18 2013
2 3 16 2014
4 1 19 2013
6 2 18 2014
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7702 次 |
最近记录: |