python - 如何删除 Pandas 组中的重复项

标签 python pandas pandas-groupby

我希望删除组“内”的重复项。我怎样才能以最有效的方式做到这一点?

我尝试过仅按 ID 对数据进行分组,但由于公司可以在不同年份筹集相同类型的投资轮次,因此这种方法会导致我得到错误的结果。

我有这样的数据:

+----+-----------+-----------+---------------+
| ID |   Type    | seed_year | series_a_year |
+----+-----------+-----------+---------------+
|  1 | seed      |      2014 |             0 |
|  2 | seed      |      2014 |             0 |
|  2 | seed      |      2015 |             0 |
|  3 | seed      |      2012 |             0 |
|  3 | series_a  |         0 |          2014 |
|  3 | series_a  |         0 |          2015 |
+----+-----------+-----------+---------------+

我想要的输出是:

+----+----------+-----------+---------------+
| ID |   Type   | seed_year | series_a_year |
+----+----------+-----------+---------------+
|  1 | seed     |      2014 |             0 |
|  2 | seed     |      2014 |             0 |
|  3 | seed     |      2012 |             0 |
|  3 | series_a |         0 |          2014 |
+----+----------+-----------+---------------+

我想保留第一轮(最旧的)融资。

最佳答案

您可以使用 .drop_duplicates() 的“subset”参数:

df.drop_duplicates(subset=['ID', 'Type'], keep='first')

关于python - 如何删除 Pandas 组中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55972389/

相关文章:

python - 二维 NumPy 数组中每个元素的计数

pandas - 哪些 pandas 方法具有 engine_kwargs 来支持 numba?

python - 从多级字典创建平面数据框的最好(也是最快)方法是什么

pandas - 在已经分组的数据框中对每组的值进行排序

Python pandas - 特定的合并/替换

python - 将多个变量传递给PoolExecutor

python - 计算每组内的重复项数

python Pandas : Calculate moving average within group

python - 在环境 Python/Django 中存储配置

python - python中的日期格式不一致