the TubeLight DNA
the TubeLight DNA

Reputation: 21

Returning the rows based on specific value without column name

I know how to return the rows based on specific text by specifying the column name like below.

import pandas as pd
data = {'id':['1', '2', '3','4'],
        'City1':['abc','def','abc','khj'],
        'City2':['JH','abc','abc','yuu'],
         'City2':['JRR','ytu','rr','abc']}
df = pd.DataFrame(data)
df.loc[df['City1']== 'abc']

and output is -

id  City1   City2
0   1   abc JRR
2   3   abc rr

but what i need is -my specific value 'abc' can be in any columns and i need to return rows values that has specific text eg 'abc' without giving column name. Is there any way? need output as below

id  City1   City2
0   1   abc JRR
1   3   abc rr
2   4   khj abc

Upvotes: 1

Views: 570

Answers (1)

tlentali
tlentali

Reputation: 3455

You can use any with the (1) parameter to apply it on all columns to get the expected result :

>>> df[(df == 'abc').any(1)]
    id  City1   City2
0   1   abc     JRR
2   3   abc     rr
3   4   khj     abc

Upvotes: 4

Related Questions