Я пытаюсь оценить новый столбец в DF по значениям двух других, но если значение отсутствует, я пытаюсь передать другое выражение.
df_merge["3"] = df_merge.apply(lambda row: row["1"] + row["2"]
if pd.isnull(row["1"]) or pd.isnull(row["2"])
else (row["1"] + row["2"])/2,
axis=1)
loc 1 2 3
0 135200 0.391 0.224 0.3075
1 135210 0.400 0.220 0.3100
95 136150 NaN 0.505 NaN
96 136160 NaN 0.527 NaN
Это то, что я получил. Поэтому, если 1 или 2 - ноль, я хочу использовать первое выражение, иначе последнее. Однако первое выражение никогда не передается. Если я попытаюсь проверить, например:
pd.isnull(df_merge.iloc[96,3])
Он оценивается как True, так почему же первое выражение, переданное в этом экземпляре, не передается ??
Я также попытался:
df_merge["3"].fillna(value=df_merge["1"] + df_merge["2"],inplace=True)
Который точно ничего не сделал.
С уважением, Фредрик