Preenchendo um DataFrame com números de "sinal"

Eu tenho um DataFrame cheio de carros alegóricos (positivos e negativos) e alguns NaN. Gostaria de substituir cada número flutuante por seu sinal:

if it's NaN -> it remains Nan
if positive -> replace with 1
if negative -> replace with -1
if zero -> leave it as 0

Alguma sugestão para fazer essa substituição maciça?

Agradeço antecipadamente

questionAnswers(3)

yourAnswerToTheQuestion