我有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
谢谢
答案 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