输入:
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,行(0,4,8)具有相同的值。我想放弃这些行。
尝试:
我使用df.drop_duplicates(['S','T']
但失败了,我怎么能得到结果。
答案 0 :(得分:9)
您需要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