我有以下两个数据框
af=pd.DataFrame({'A':[3,7]})
bf=pd.DataFrame({'B': [5, 2], 'C': [1, 4],'D':[6,8]})
我要执行此操作
(af['A']>bf['B'])|(af['A']>bf['C'])|(af['A']>bf['D'])
我相信使用 reduce 高阶函数,在bf的列上进行迭代并将单个结果折叠到单个列中,将是一种更简单的方法,但是我不确定如何进行操作< / p>
感谢帮助
答案 0 :(得分:2)
您可以首先计算bf
,B
和C
列中D
的最小值:
af['A'] > bf[['B', 'C', 'D']].min(axis=1)
实际上,假设af['A']
大于该行其他列的最小值,我们知道这些列中至少有一个元素小于af['A']
的值。