столбец может быть другим.

у найти разницу, сравнивая два DataFrames и объединяя различия в новый DataFrame, но есть проблема, когда значения отсутствуют в одном из DataFrames, генерируется ошибка:ValueError: Can only compare identically-labeled Series objects Я думаю, что есть проблема с индексом заголовка. Если вы можете помочь мне, это будет здорово.

df1 have one missing value at column 1980 

df1
    Country 1980    1981    1982    1983    1984
    Bermuda         0.00687 0.00727 0.00971 0.00752
    Canada  9.6947  9.58952 9.20637 9.18989 9.78546
 Greenland       7  0.00746 0.00722 0.00505 0.00799
    Mexico  3.72819 4.11969 4.33477 4.06414 4.18464



 df2
    Country 1980    1981    1982    1983    1984
    Bermuda 0.77777 0.00687 0.00727 0.00971 0.00752
    Canada  9.6947  9.58952 9.20637 9.18989 9.78546
  Greenland 0.00791 0.00746 0.00722 0.00505 0.00799
    Mexico  3.72819 4.11969 4.33477 4.06414 4.18464


def process_df(df):
    res = df.set_index('Country').stack()
    res.index.rename('Column', level=1, inplace=True)
    return res

df1 = process_df(df1)
df2 = process_df(df2)
mask = (df1 != df2) & ~(df1.isnull() & df2.isnull())
df3 = pd.concat([df1[mask], df2[mask]], axis=1).rename({0:'From', 1:'To'}, axis=1)
print(df3)

Я хочу показать пропущенные значения, как пустое пространство, пример ниже:

                            From         To
Country       Column                       
Bermuda       1980          0.77777   
Greenland     1980          0.00791       7

Помните, что код работает нормально, если нет пропущенных значений, но я хочу иметь возможность обрабатывать и пропущенные значения. Спасибо

Ответы на вопрос(0)

Ваш ответ на вопрос