2015-04-03 77 views
0

我有一個很大的數據框。這裏是一個小例子。熊貓:得到刪除行索引

C1 C2 C3 C4 
0 foo one 1 4 
1 foo one 1 5 
2 foo two 2 3 
3 bar one 3 6 
4 bar two 2 7 

我執行刪除多行的過濾器列表。下面是最終DF

C1 C2 C3 C4 
0 foo one 1 4 
2 foo two 2 3 
3 bar one 3 6 

我要的是刪除線的指數,這樣我就可以被拒絕輸出的所有值這一點。

+0

你能首先找到需要刪除的行的索引,然後用'drop'刪除它們嗎? – 2015-04-03 17:36:21

+1

我認爲您正在尋找'index.difference' – cel 2015-04-03 17:37:34

回答

2

你可以使用的兩個指標的對象difference方法:

>>> df_orig.index.difference(df_final.index) 
Int64Index([1, 4], dtype='int64') 

如果您使用一個版本的熊貓沒有這個,你可以使用np.setdiff1d來代替:

>>> np.setdiff1d(df_orig.index, df_final.index) 
array([1, 4], dtype=int64) 
+0

非常感謝!我不知道差別命令 – Sara 2015-04-04 13:37:26

2

略有不同方法,但與帝斯曼相同的想法。

df.index[-df.index.isin(df1.index)] 
+0

它運作得很好,感謝利亞姆! – Sara 2015-04-04 13:37:49