2015-09-21 174 views
2

我想删除我的数据框(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 

我想与指数= 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 

是否有大熊猫一些方便的功能要做到这一点? 谢谢

+0

旁白:虽然你的问题是完全合理的,有重复的指数导致够了苦头在实践中通常应该避免,除非作为中间步骤。 – DSM

+0

我完全同意。 Hovewer,在我的情况下,索引表示重复测量,这是我看到的唯一方法,指的是重复... – diegus

回答

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] 
+0

谢谢,这工作正常! – diegus