gpt4 book ai didi

python - 在 Python 中的 pandas 数据框上创建通用数据过滤器

转载 作者:太空宇宙 更新时间:2023-11-04 09:51:20 25 4
gpt4 key购买 nike

我正在尝试对某些数据创建通用过滤器。考虑一个简化的例子:

my_data = pd.DataFrame(some_data)
my_filter = {"value": 100, "direction": ">"}

现在我想利用 numpywhere 来做类似的事情:

np.where(my_data (...) my_filter["value"])

其中,作为“(...)”,我想要 my_filter["direction"]。当然,我可以通过将适当的字符串放在一起来使用类似“eval(...)”的东西。

问题 但我想知道是否有一种方法可以不用 eval(...) 来做到这一点?

跟进“已回答”声明:这里的关键是我需要方向是通用的。基于值的子选择数据很容易“np.where(my_data == my_filter["value"])”,例如

最佳答案

演示:

In [73]: df
Out[73]:
value direction
0 100 >
1 12 ^
2 101 >
3 13 v
4 100 <

In [74]: my_filter = ["value >= 100", "direction == '>'"]

In [75]: df.query(' and '.join(my_filter))
Out[75]:
value direction
0 100 >
2 101 >

关于python - 在 Python 中的 pandas 数据框上创建通用数据过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47684053/

25 4 0
文章推荐: python - 如何根据经验确定级别?
文章推荐: html - 第二个 的布局与第一个
不一样