Skip to main content
 首页 » 编程设计

python之使用动态 URL 查询字符串过滤 Pandas DataFrame

2025年05月04日5398°冷暖

目前我有一个关于 python pandas 的问题。我想使用 url 查询字符串动态过滤数据框。

例如: 文件格式:

网址:http://example.com/filter?Name=Sam&Age=21&Gender=male

硬编码:

filtered_data = data[ 
    (data['Name'] == 'Sam') & 
    (data['Age'] == 21) & 
    (data['Gender'] == 'male')  
]; 

我不想像以前那样对筛选键进行硬编码,因为 csv 文件随时会随着列标题的不同而变化。 有什么建议

请您参考如下方法:

动态创建此过滤器的最简单方法可能是使用 np.all。

例如:

import numpy as np 
 
query = {'Name': 'Sam', 'Age': 21, 'Gender': 'male'} 
filters = [data[k] == v for k, v in query.items()] 
filter_data = data[np.all(filters, axis=0)]