来自两个形状相等的数据帧,如下所示:
1 11 22
2 330 440
3 55 66
4 770 880
5 99 0
1 110 220
2 33 44
3 550 660
4 77 88
5 990 0
我需要如下所示的数据帧
1 11 22
2 33 44
3 55 66
4 77 88
5 99 0
即:每个单元格的最小值
使用np.minimum
np.minimum(df1, df2)
col1 col2 col3
0 1 11 22
1 2 33 44
2 3 55 66
3 4 77 88
4 5 99 0
让我们做pandas
pd.concat([df1,df2]).min(level=0)
Out[189]:
1 2
1 11 22
2 33 44
3 55 66
4 77 88
5 99 0
可能:
np.where(df1 < df2, df1, df2)
或者,如果需要数据帧
pd.DataFrame(np.where(df1 < df2, df1, df2),
index=df1.index,
columns=df1.columns)
我们可以使用DataFrame.where
df1.where(df1<df2,df2)
我们也可以使用DataFrame.mask
df1.mask(df1>df2,df2)
其他方法DataFrame.combine
:
df1.combine(df2, np.minimum)
输出
col1 col2 col3
0 1 11 22
1 2 33 44
2 3 55 66
3 4 77 88
4 5 99 0