我有一个大型数据框。这是一个小例子。
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 :(得分:2)
您可以在两个Index对象上使用difference
方法:
>>> df_orig.index.difference(df_final.index)
Int64Index([1, 4], dtype='int64')
如果您使用的是没有此版本的pandas版本,则可以改为使用np.setdiff1d
:
>>> np.setdiff1d(df_orig.index, df_final.index)
array([1, 4], dtype=int64)
答案 1 :(得分:2)
方法略有不同,但与DSM的想法相同。
df.index[-df.index.isin(df1.index)]