擅长:python、mysql、java
<p>我相信这正是你想要的:</p>
<pre><code>df2['greater'] = df2.apply(
lambda row:
(df1['alligator_apple'] > row['alligator_apple']) &
(df1['barbadine'] > row['barbadine']) &
(df1['capulin_cherry'] > row['capulin_cherry']),
axis=1,
).sum(axis=1)
print(df2)
</code></pre>
<p>输出:</p>
<pre><code> alligator_apple barbadine capulin_cherry greater
0 6 3 1 4
1 7 19 9 1
2 15 25 15 0
3 5 12 27 3
</code></pre>
<p>编辑:如果您想对给定的列集概括并应用此逻辑,我们可以将<code>functools.reduce</code>与<code>operator.and_</code>一起使用:</p>
<pre><code>import functools
import operator
columns = ['alligator_apple', 'barbadine', 'capulin_cherry']
df2['greater'] = df2.apply(
lambda row: functools.reduce(
operator.and_,
(df1[column] > row[column] for column in columns),
),
axis=1,
).sum(axis=1)
</code></pre>