Remove rows that two columns have the same values by pandas

后端 未结 1 743
灰色年华
灰色年华 2020-12-14 23:07

Input:

    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   Undir         


        
相关标签:
1条回答
  • 2020-12-14 23:15

    You need 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
    

    Or 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
    
    0 讨论(0)
提交回复
热议问题