Here are two ways to do what I believe you've asked, which is:
- case-insensitive filtering of df columns FirstName,LastNameandCitybased on any combination of the argumentsfirst,lastandcityrespectively.
Way #1
import pandas as pd
def find(**kwargs):
    df = ( data.rename(columns={"FirstName": "first",
                             "LastName": "last", 
                             "City": "city",
                             })[list(kwargs.keys())]
        .apply(lambda x: x.str.lower(), axis=1) )
    mask = df.eq(list(val.lower() for val in kwargs.values())).all(axis=1)
    return data[mask]
data = pd.DataFrame({'FirstName':['Fred','Billy'],'LastName':['Bob','Bob'],'City':['Austin','NYC']})
Way #2
import pandas as pd
from operator import and_
from functools import reduce
def find(**kwargs):
    df = data.rename(columns={"FirstName": "first",
                             "LastName": "last", 
                             "City": "city",
                             })[list(kwargs.keys())]
    valsLower = pd.Series([val.lower() for val in kwargs.values()], index=kwargs.keys())
    mask = reduce(and_, (df[col].str.lower() == valsLower[col] for col in df.columns))
    return data[mask]
data = pd.DataFrame({'FirstName':['Fred','Billy'],'LastName':['Bob','Bob'],'City':['Austin','NYC']})
Test code:
print( '',"data",data,sep='\n' )
print( '',"first='fred'",find(first='fred'),sep='\n' )
print( '',"first='fReD'",find(first='fred'),sep='\n' )
print( '',"last='bob'",find(last='bob'),sep='\n' )
print( '',"city='austin'",find(city='austin'),sep='\n' )
print( '',"first='fred', city='austin'",find(first='fred', city='austin'),sep='\n' )
print( '',"city='austin', first='fred'",find(first='fred', city='austin'),sep='\n' )
print( '',"last='bob', city='austin'",find(last='bob', city='austin'),sep='\n' )
print( '',"first='billy', city='austin'",find(first='billy', city='austin'),sep='\n' )
Sample Output:
data
  FirstName LastName    City
0      Fred      Bob  Austin
1     Billy      Bob     NYC
first='fred'
  FirstName LastName    City
0      Fred      Bob  Austin
first='fReD'
  FirstName LastName    City
0      Fred      Bob  Austin
last='bob'
  FirstName LastName    City
0      Fred      Bob  Austin
1     Billy      Bob     NYC
city='austin'
  FirstName LastName    City
0      Fred      Bob  Austin
first='fred', city='austin'
  FirstName LastName    City
0      Fred      Bob  Austin
city='austin', first='fred'
  FirstName LastName    City
0      Fred      Bob  Austin
last='bob', city='austin'
  FirstName LastName    City
0      Fred      Bob  Austin
first='billy', city='austin'
Empty DataFrame
Columns: [FirstName, LastName, City]
Index: []