目前我有一个关于 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)]
