擅长:python、mysql、java
<p>按<code>id</code>&;<code>animal</code>列分组,得到它们出现的<code>count</code>和{<cd4>}日期。在</p>
<p>然后按<code>id</code>、<code>count</code>、<code>last</code>对结果数据帧进行排序,并在{<cd1>}上删除重复值,保留最后一行,由于我们的排序,最后一行将给出最常见的动物,如果有两个动物,则为表中最后观察到的动物。最后,去掉多余的列<code>count</code>&;<code>last</code></p>
<pre><code>columns = ['id', 'animal']
df2 = df.groupby(columns).date.agg(['count', 'last']).reset_index()
df3 = df2.sort_values(['id', 'count', 'last'])
df3.drop_duplicates('id', keep='last')[columns]
# outputs:
id animal
1 1 dog
2 2 cat
3 3 dog
4 4 fish
5 5 cat
</code></pre>