Использовал примерный фрейм данных, но его не должно быть трудно понять:
df = pd.DataFrame({'A': [1, 2, np.nan, 3], 'B': [10, 20, 30, 40]})
def diff(row):
return row['B'] if (pd.isnull(row['A'])) else (row['B'] - row['A'])
df['C'] = df.apply(diff, axis=1)
ОРИГИНАЛЬНЫЕ ДАННЫЕ КАДРЫ:
A B
0 1.0 10
1 2.0 20
2 NaN 30
3 3.0 40
ПОСЛЕ apply
:
A B C
0 1.0 10 9.0
1 2.0 20 18.0
2 NaN 30 30.0
3 3.0 40 37.0