Python 选择较高的值进行数据帧合并

Python 选择较高的值进行数据帧合并,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有两个这样的数据帧: 1 2 3 0 61.579 0.000000 47.279861 1 0.000 0.000000 0.000000 2 62.700 9.180000 48.479861 3 56.100 40.180000 71.679861 4 73.100 50.930000 71.679861 5 88.300 37.930000 36.479861 我需要合

我有两个这样的数据帧:

         1          2          3 
0   61.579   0.000000  47.279861
1    0.000   0.000000   0.000000
2   62.700   9.180000  48.479861
3   56.100  40.180000  71.679861
4   73.100  50.930000  71.679861
5   88.300  37.930000  36.479861 
我需要合并它们,每次选择较高的值。所有的值都是浮动的。 有什么想法吗?我必须在数据帧上循环?

您首先需要,然后通过
索引和聚合
max

df1 = pd.DataFrame({0:[4,5,4],
                    1:[7,8,9]})

print (df1)
   0  1
0  4  7
1  5  8
2  4  9


df2 = pd.DataFrame({0:[8,5,6],
                    1:[9,4,4]})

print (df2)
   0  1
0  8  9
1  5  4
2  6  4

df = pd.concat([df1, df2]).groupby(level=0).max()
print (df)
   0  1
0  8  9
1  5  8
2  6  9
如果需要更快的解决方案,请使用:

正在做同样的工作,但不会比
np.

@Max-glady可以帮助:)jezrael解决方案运行良好。第二个数据帧si以相同的方式构建。
a = df1.values
b = df2.values
df = pd.DataFrame(np.where(a > b, a, b), index=df1.index, columns=df1.columns)
print (df)
   0  1
0  8  9
1  5  8
2  6  9
df1.where(df1>df2, df2)