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

2024-04-20 11:48:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据帧:

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)将首先删除。你知道吗

一般来说我怎么做?你知道吗


Tags: 数据dataframepandasdf副本产量x1x2
1条回答
网友
1楼 · 发布于 2024-04-20 11:48:31

如果我理解正确:a=b=c=d。 那么您的数据将是:

import pandas as pd

df = pd.DataFrame({"X1": ["a", "a", "a"], "X2": ["a", "a", "a"], "X3": [500, 200, 10]})

# Keep first duplicate
df_first = df.drop_duplicates(subset=['X1', 'X2'], keep='first')

# Keep last duplicate
df_last = df.drop_duplicates(subset=['X1', 'X2'], keep='last')

# Concatenate DataFrames
df_clean = pd.concat([df_first, df_last], axis=0)

。。。或者你可以在一条线上完成

df_clean = pd.concat([df.drop_duplicates(subset=['X1', 'X2'], keep='first'), df.drop_duplicates(subset=['X1', 'X2'], keep='last')], axis=0)

这能回答你的问题吗?你知道吗

相关问题 更多 >