【发布时间】:2019-01-25 16:07:41
【问题描述】:
我熟悉如何根据以下条件删除数据框中的行:
df1 = df1.drop(df1[<some boolean condition>].index)
让 df1 和 df2 是大小相同的 DataFrame。问题是删除 df2 中满足 df1 上述条件的相同索引行。我正在寻找一个优雅的解决方案,而不是保留索引,然后为 df2 再次迭代它们。
例子:
df1
index value
1 4
2 5
3 6
4 3
1 1
2 5
1 3
2 3
3 2
4 2
5 1
6 7
7 12
df2
index value
1 4
2 5
3 7
4 3
1 1
2 109
1 44
2 3
3 2
4 2
5 1
6 7
7 12
索引不是连续的,所以简单的 df.drop 不起作用。它基于之前创建的组。
【问题讨论】:
-
定义“相同的行”。如果您的意思是相同的索引,那么只需将
df1[<some boolean condition>].index存储在一个变量中(比如idx)并使用df2 = df2.drop(idx)。 -
是的,我的意思是相同大小的数据帧中的相同索引行
-
您能否添加一个快速示例来说明您希望它如何工作?就像放置两个 3x3 数据框并告诉我们您希望它如何工作?我想我可以解决它,但我不知道你的问题是什么。