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
这是否回答了您的问题?您能为这个示例添加预期的输出吗?不,您的代码结果与我想要得到的输出不同。您能详细说明一下吗?您想要的确切输出是什么?