当按id
聚合数据时,我想在animal
中找到最常见的字符串值,如果计数相同,我将选择animal
的最后一个值。在
id animal date
0 1 dog 2018-01-01
1 1 dog 2018-01-02
2 1 cat 2018-01-03
3 2 cat 2018-01-01
4 3 dog 2018-01-01
5 4 fish 2018-01-01
6 5 dog 2018-01-01
7 5 cat 2018-01-02
输出应该类似于:
^{pr2}$我没能让它正常工作。我试着用pd.get_dummies
和计数,但不看。理想情况下,该解决方案将在构建中使用矢量化的pandas/numpy,即过滤、连接,np.哪里,等等,因为groupby.apply
非常慢,并且数据有点大。在
您可以定义自定义规则并使用它
aggregate
输出:
^{pr2}$按}日期。在
id
&;animal
列分组,得到它们出现的count
和{然后按}上删除重复值,保留最后一行,由于我们的排序,最后一行将给出最常见的动物,如果有两个动物,则为表中最后观察到的动物。最后,去掉多余的列
id
、count
、last
对结果数据帧进行排序,并在{count
&;last
相关问题 更多 >
编程相关推荐