Suponha que eu tenha um quadro de dados 5 * 3 no qual a terceira coluna contenha valor ausente
1 2 3
4 5 NaN
7 8 9
3 2 NaN
5 6 NaN
Espero gerar valor para a regra baseada em valor ausente nessa primeira coluna da segunda produção
1 2 3
4 5 20 <--4*5
7 8 9
3 2 6 <-- 3*2
5 6 30 <-- 5*6
Como posso usar o quadro de dados? Obrigado.
Como adicionar uma condição para calcular o valor ausente dessa maneira?
if 1st % 2 == 0 then 3rd = 1st * 2nd
else 3rd = 1st + 2nd
1 2 3
4 5 20 <-- 4*5 because 4%2==0
7 8 9
3 2 5 <-- 3+2 because 3%2==1
5 6 11 <-- 5+6 because 5%2==1
Respostas:
Supondo que três colunas de sua trama de dados é
a
,b
ec
. Isso é o que você quer:Código completo:
fonte
np.isnan
não suporta dados não numéricos. Não é um problema aqui, pois o OP tinha colunas numéricas e operações aritméticas, mas, caso contrário,pd.isnull
é uma alternativa melhor.Outra opção:
df.loc[(pd.isnull(df.C)), 'C'] = df.A * df.B
fonte
Que tal usar o
fillna()
método do quadro de dados?df['C'].fillna(df.A * df.B)
fonte
Assumindo que as três colunas em sua trama de dados são
a
,b
ec
. Então você pode fazer a operação necessária assim:fonte
np.where(pd.isnull(df.c), df.a * df.b, df.c)