Python pandas合并2个相同大小的数据帧

时间:2017-02-14 18:45:05

标签: python pandas

我有2个大小相同的数据框。

我不确定“merge”在这里是否是正确的词,但我想创建一个新的数据帧,其值在两者之间最小。

df_1 
             ask           bid 
A       0                    2   
B       0.643319      1.000000    
C       0.722802      0.920498

df_2
             ask           bid 
A       1             0.643319   
B       0.643319      0    
C       0.722802      0.920498         

df_3
             ask           bid 
A       0             0.643319  
B       0.643319      0    
C       0.722802      0.920498 

谢谢

2 个答案:

答案 0 :(得分:2)

您可以使用DataFrame.where

df_3 = df_1.where(df_1 < df_2, df_2)

df_1.where在条件df_1为True时返回df_1 < df_2的值,在条件为False时返回df_2的相应值。

答案 1 :(得分:2)

一个选项是numpy.minimum

>>> df1
   bid  ask
0    4    3
1    4    4

>>> df2 
   bid  ask
0    9    2
1    5    1

>>> pd.DataFrame(np.minimum(df1, df2))
   bid  ask
0    4    2
1    4    1