Я проверяю фреймы данных на равенство.
df_diff=(df1!=df2)
Я получаю df_diff
, который имеет ту же форму, что и df*
, и содержит логическое значение True/False
.
Теперь я хотел бы сохранить только столбцы и строки df1
, где было хотя бы другое значение.
Если я просто сделаю
df1=[df_diff.values]
Я получаю все строки , где был хотя бы один True
в df_diff
, но многие столбцы изначально имели только False
.
В качестве второго шага я хотел бы иметь возможность заменить все значения (поэлементно в кадре данных), которые были равны (где df_diff==False
), на NaNs
.
пример:
df1=pd.DataFrame(data=[[1,2,3],[4,5,6],[7,8,9]])
df2=pd.DataFrame(data=[[1,99,3],[4,5,99],[7,8,9]])
Я бы хотел получить от df1
0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
до
1 2
0 2 NaN
1 NaN 6