擅长:python、mysql、java
<p>这应该可以做到:</p>
<pre><code>import itertools, functools
from operator import eq, ne, and_
def view(*args):
Eq, Ne = functools.partial(eq, 'All'), functools.partial(ne, 'All')
if all(Eq(var) for var in args):
return df
for cond, ret in itertools.product((Eq, Ne), len(args)):
if all(fun(var) for var, fun in zip(args, cond)):
index = functools.reduce(and_, (df[var] == var for var, fun in cond if fun == Ne))
return df[index]
</code></pre>
<p>唯一的问题是,我知道没有一种简单的方法可以知道您当前使用的变量的名称。这就是我使用<code>df[var] == var</code>的原因。你知道吗</p>
<p>例如,通过使每个变量都带有自己的名称来解决这个问题相对容易。所以,基本上,每个变量都是一个元组<code>a = (variable, "variable")</code>。你知道吗</p>