Tôi có hai dataframes (df1 và df2) mà mỗi khung dữ liệu có cùng hàng và cột. Tôi muốn lấy tối đa hai khung dữ liệu này, phần tử theo phần tử. Ngoài ra, kết quả của bất kỳ yếu tố tối đa khôn ngoan với một số và NaN phải là số. Cách tiếp cận mà tôi đã triển khai cho đến nay dường như không hiệu quả:Tối đa yếu tố của hai DataFrames bỏ qua NaNs
def element_max(df1,df2):
import pandas as pd
cond = df1 >= df2
res = pd.DataFrame(index=df1.index, columns=df1.columns)
res[(df1==df1)&(df2==df2)&(cond)] = df1[(df1==df1)&(df2==df2)&(cond)]
res[(df1==df1)&(df2==df2)&(~cond)] = df2[(df1==df1)&(df2==df2)&(~cond)]
res[(df1==df1)&(df2!=df2)&(~cond)] = df1[(df1==df1)&(df2!=df2)]
res[(df1!=df1)&(df2==df2)&(~cond)] = df2[(df1!=df1)&(df2==df2)]
return res
Bất kỳ ý tưởng nào khác? Cảm ơn bạn đã dành thời gian.
Hãy thêm ít nhất một mẫu của các dataframe gốc để tái tạo vấn đề của bạn. –