如何删除熊猫组中的重复项

时间:2019-05-03 14:57:18

标签: 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 |
+----+----------+-----------+---------------+

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

参数keep默认为'first' 所以您可以忽略它。

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