Python 熊猫在两列之间放置重复项
我正在寻找一种有效的方法来删除数据帧中两列之间的重复项。所以,我的数据是Python 熊猫在两列之间放置重复项,python,pandas,Python,Pandas,我正在寻找一种有效的方法来删除数据帧中两列之间的重复项。所以,我的数据是 A B 0 1 0 1 1 1 2 nan 2 3 8 3 4 7 7 我想得到这个 A B 0 1 0 1 nan 2 2 8 3 我怎样才能得到这样的输出?谢谢 试试这个: df = df[df.A != df.B] 按要求使用循环: dups_index = [] for i, row in df.iterrows(): if row
A B
0 1 0
1 1 1
2 nan 2
3 8 3
4 7 7
我想得到这个
A B
0 1 0
1 nan 2
2 8 3
我怎样才能得到这样的输出?谢谢 试试这个:
df = df[df.A != df.B]
按要求使用循环:
dups_index = []
for i, row in df.iterrows():
if row['A'] == row['B']:
dups_index.append(i)
df = df[~df.index.isin(dups_index)]
它是有效的,但我认为,它的效率没有那么高(很抱歉。如果您找到一种更有效的方法,请告诉我:)在循环中执行此操作可能不会更有效率。但我会把它加到我的答案中。我不知道有什么更快的方法可以做到这一点。
df=df[df.A!=df.B]
的原始答案应该比循环快得多。对于10000x2元素,第一个解决方案比第二个解决方案快1500倍左右。。。