如何删除 pandas 中两个数据框中的公共行? [英] How to remove common rows in two dataframes in Pandas?
本文介绍了如何删除 pandas 中两个数据框中的公共行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两个数据帧-df1
和df2
.
df1 has row1,row2,row3,row4,row5
df2 has row2,row5
我想要一个新的数据框,例如df1-df2
.也就是说,结果数据帧的行应为-row1,row3,row4
.
I want to have a new dataframe such that df1-df2
. That is, the resultant dataframe should have rows as - row1,row3,row4
.
推荐答案
您可以使用 pandas.concat
将两个数据框按行串联,然后紧跟
You can use pandas.concat
to concatenate the two dataframes rowwise, followed by drop_duplicates
to remove all the duplicated rows in them.
In [1]: import pandas as pd
df_1 = pd.DataFrame({"A":["foo", "foo", "foo", "bar"], "B":[0,1,1,1], "C":["A","A","B","A"]})
df_2 = pd.DataFrame({"A":["foo", "bar", "foo", "bar"], "B":[1,0,1,0], "C":["A","B","A","B"]})
In [2]: df = pd.concat([df_1, df_2])
In [3]: df
Out[3]:
A B C
0 foo 0 A
1 foo 1 A
2 foo 1 B
3 bar 1 A
0 foo 1 A
1 bar 0 B
2 foo 1 A
3 bar 0 B
In [4]: df.drop_duplicates(keep=False)
Out[4]:
A B C
0 foo 0 A
2 foo 1 B
3 bar 1 A
这篇关于如何删除 pandas 中两个数据框中的公共行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文