输入:
S T W U
0 A A 1 Undirected
1 A B 0 Undirected
2 A C 1 Undirected
3 B A 0 Undirected
4 B B 1 Undirected
5 B C 1 Undirected
6 C A 1 Undirected
7 C B 1 Undirected
8 C C 1 Undirected
输出:
S T W U
1 A B 0 Undirected
2 A C 1 Undirected
3 B A 0 Undirected
5 B C 1 Undirected
6 C A 1 Undirected
7 C B 1 Undirected
对于S和T列,rows(0,4,8)具有相同的值。我要删除这些行。
试:
我使用了
df.drop_duplicates(['S','T']
,但失败了,如何获得结果。 最佳答案
您需要 boolean indexing
:
print (df['S'] != df['T'])
0 False
1 True
2 True
3 True
4 False
5 True
6 True
7 True
8 False
dtype: bool
df = df[df['S'] != df['T']]
print (df)
S T W U
1 A B 0 Undirected
2 A C 1 Undirected
3 B A 0 Undirected
5 B C 1 Undirected
6 C A 1 Undirected
7 C B 1 Undirected
或
query
:df = df.query("S != T")
print (df)
S T W U
1 A B 0 Undirected
2 A C 1 Undirected
3 B A 0 Undirected
5 B C 1 Undirected
6 C A 1 Undirected
7 C B 1 Undirected