Python 如何删除两列中的重复项?

Python 如何删除两列中的重复项?,python,pandas,Python,Pandas,我有这样一个数据帧: df = pandas.DataFrame({"X1":["a","b","c"], "X2":["b","c","d"], "X3":[500,200,10]}) 我只想保留第一排和第三排 预期产出: X1 X2 X3 0 a b 500 2 c d 10 (X1,X2)=(b,c)对我来说是(a,b)的副本,因为X1=X2 (c,d)也是(b,c)的副本,但(b,c)将首先删除 一般来说,我该怎么做?这是您

我有这样一个数据帧:

df = pandas.DataFrame({"X1":["a","b","c"], "X2":["b","c","d"], "X3":[500,200,10]})
我只想保留第一排和第三排

预期产出:

        X1  X2  X3
    0   a   b   500
    2   c   d   10
(X1,X2)=(b,c)对我来说是(a,b)的副本,因为X1=X2

(c,d)也是(b,c)的副本,但(b,c)将首先删除

一般来说,我该怎么做?

这是您的数据

df=pd.DataFrame({“X1”:[“a”、“b”、“c”],“X2”:[“b”、“c”、“d”],“X3”:[500200,10]})
x1x2x3
0 a b 500
1 b c 200
2 c d 10
如果我理解正确:
(a,b)=(b,c)=(c=d)
因此
a=b=c
b=c=d
。 如果替换数据X1和X2,则数据将为:

将熊猫作为pd导入
df=pd.DataFrame({“X1”:[“a”、“a”、“a”],“X2”:[“b”、“b”、“b”],“X3”:[500200,10]})
#保留第一份副本
df_first=df.drop_重复项(子集=['X1','X2'],保持='first')
#保留最后一份
df_last=df.drop_duplicates(子集=['X1','X2'],keep='last')
#连接数据帧
df_clean=pd.concat([df_first,df_last],轴=0)
。。。或者你可以在一行中完成

df_clean=pd.concat([df.drop_duplicates(子集=['X1','X2'],keep='first'),df.drop_duplicates(子集=['X1','X2'],keep='last')),axis=0)
输出:

打印(df_清洁)
x1x2x3
500美元
2 a 10

这是否回答了您的问题?

您能为这个示例添加预期的输出吗?不,您的代码结果与我想要得到的输出不同。您能详细说明一下吗?您想要的确切输出是什么?