Gostaria de substituir todos os valores em df1 por nan, caso sejam menores ou iguais ao valor na coluna correspondente de df2.
Por exemplo
df1:
| A | B | C |
-------------------------------
0| -0.1 | -0.5 | 3.0 |
1| -0.002 | 0.0037 | -0.06 |
2| 0.25 | 0.0048 | 0.06 |
3| 0.27 | -0.01 | 0.0055 |
df2:
| A | B | C |
-----------------------------------
LessThan| 0.26 | 0.0037 | 0.0055 |
saída:
| A | B | C |
-------------------------
0| nan | nan | 3.0 |
1| nan | nan | nan |
2| nan | 0.0048 | 0.06 |
3| 0.27 | nan | nan |
Neste exemplo, 0,25 na coluna A do df1 foi substituído por nan porque era menor que o valor na coluna A do df2. E assim por diante. Nos meus dados reais, há 15 colunas que preciso verificar
Eu tentei usar aplicar
df = df.apply(lambda x: np.nan if x<=df2.loc["LessThan"] else x)
e adicionando df2 em df1 e depois usando apply
df = pd.concat([df1, df2], axis=0)
df = df.apply(lambda x: np.nan if x<=df.loc["LessThan"] else x)
1 respostas