Pandas:删除具有唯一索引值的数据帧行

时间:2015-09-21 14:40:42

标签: python pandas

我正在尝试删除具有唯一值作为索引的数据帧(df)的行。这是我的df:

    A       B
1   3.803   4.797
1   3.276   3.878
2   5.181   6.342
3   6.948   9.186
3   8.762  10.136
4  10.672  12.257
4   8.266  13.252
5  13.032  14.656
6  15.021  17.681
6  16.426  15.07

我想删除index = 2,5的行以获取新的数据帧(df_new),如下所示:

    A       B
1   3.803   4.797
1   3.276   3.878
3   6.948   9.186
3   8.762  10.136
4  10.672  12.257
4   8.266  13.252
6  15.021  17.681
6  16.426  15.07

大熊猫有一些方便的功能吗? 谢谢

1 个答案:

答案 0 :(得分:3)

使用get_duplicates

In [36]:
df.loc[df.index.get_duplicates()]

Out[36]:
        A       B
1   3.803   4.797
1   3.276   3.878
3   6.948   9.186
3   8.762  10.136
4  10.672  12.257
4   8.266  13.252
6  15.021  17.681
6  16.426  15.070

get_duplicates返回重复索引的数组:

In [37]:
df.index.get_duplicates()

Out[37]:
[1, 3, 4, 6]