【问题标题】:How to get the last occurrance of all items on a column (pandas)如何获取列中所有项目的最后一次出现(熊猫)
【发布时间】:2023-02-03 01:16:48
【问题描述】:

假设我有这样的数据集:

item_id |    date    | cat |
----------------------------
   0    | 2020-01-01 |  A  |
   0    | 2020-02-01 |  B  |
   1    | 2020-04-01 |  A  |
   2    | 2020-02-01 |  C  |
   2    | 2021-01-01 |  B  |

所以,我需要得到最后一个类别(猫列),这意味着结果数据框如下:

item_id | cat |
---------------
   0    |  B  |
   1    |  A  |
   2    |  B  |

我知道我可以按日期对值进行排序,然后遍历项目,但这会消耗太多资源。大熊猫还有另一种方法可以实现吗?

【问题讨论】:

  • df.drop("date", axis=1).groupby("item_id", as_index=False).last()

标签: python pandas


【解决方案1】:

使用drop_duplicates

>>> df.drop_duplicates('item_id', keep='last')
   item_id        date cat
1        0  2020-02-01   B
2        1  2020-04-01   A
4        2  2021-01-01   B

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 2023-04-07
    • 2021-12-09
    • 2011-10-16
    • 2016-06-10
    • 2019-11-18
    相关资源
    最近更新 更多