如何从两个数据帧返回更大的数据帧



例如,我有两个数据帧:

a = pd.DataFrame({'A':[1,2,3],'B':[6,5,4]})
b = pd.DataFrame({'A':[3,2,1],'B':[4,5,6]})

我想得到一个数据帧c,其中包含ab每个位置的较大值:

c = max_function(a,b) = pd.DataFrame(max(a.iloc[i,j], b.iloc[i,j]))
c = pd.DataFrame({'A':[3,2,3],'B':[6,5,6]})

我不想通过比较ab中的每个值来生成c,因为我工作中的实际数据帧非常大。 所以我想知道是否有现成的熊猫功能可以做到这一点?谢谢!

你可以使用 numpy.maximum:

import pandas as pd
import numpy as np
a = pd.DataFrame({'A': [1, 2, 3], 'B': [6, 5, 4]})
b = pd.DataFrame({'A': [3, 2, 1], 'B': [4, 5, 6]})
c = np.maximum(a, b)
print(c)

输出

A  B
0  3  6
1  2  5
2  3  6

最新更新