Pandas isna()vs isnull().
Estou assumindo que você está se referindo a pandas.DataFrame.isna()vs pandas.DataFrame.isnull(). Para não confundir pandas.isnull(), o que, ao contrário dos dois acima, não é um método da classe DataFrame.
Esses dois métodos DataFrame fazem exatamente a mesma coisa! Até seus documentos são idênticos. Você pode até confirmar isso no código dos pandas .
Mas por que dois métodos com nomes diferentes fazem a mesma coisa?
Isso ocorre porque os DataFrames dos pandas são baseados nos DataFrames de R. Em R nae nullsão duas coisas separadas. Leia este post para mais informações.
No entanto, em python, os pandas são criados em cima de numpy, que nãonanull tem nem valores. Em vez disso, numpy possui NaNvalores (que significa "Não é um número"). Consequentemente, os pandas também usam NaNvalores.
Em resumo
Para detectar NaNvalores que um numpy usa np.isnan().
Para detectar NaNvalores, o pandas usa .isna()ou .isnull().
Os NaNvalores são herdados do fato de os pandas serem construídos sobre o numpy, enquanto os nomes das duas funções são originários dos DataFrames de R, cuja estrutura e funcionalidade os pandas tentaram imitar.