我有一个csv文件,有几个人。我想建立一个函数,将过滤器的基础上,所有参数或返回整个 Dataframe ,因为它是如果没有参数传递。
因此,给定csv为:
FirstName LastName City
Matt Fred Austin
Jim Jack NYC
Larry Bob Houston
Matt Spencer NYC
如果我要调用函数find
,假设这是我期望看到的,具体取决于我传递的参数
find(first="Matt", last="Fred")
Output: Matt Fred Austin
find()
Output: Full Dataframe
find(last="Spencer")
Output: Matt Spencer Fred
find(address="NYC")
Output: All people living in NYC in dataframe
这是我曾经尝试过的:
def find(first=None, last=None, city=None):
file= pd.read_csv(list)
searched = file.loc[(file["FirstName"] == first) & (file["LastName" == last]) & (file["City"] == city)]
return searched
如果只传入名字而不传入其他内容,则返回空值
2条答案
按热度按时间rbl8hiat1#
你可以这样做:
如果要使用
"first"
、"last"
和"city"
:xxb16uws2#
过滤列的另一种替代方法:
输出: