Я хотел бы использовать Pandas df.apply
, но только для определенных строк
В качестве примера, я хочу сделать что-то подобное, но моя фактическая проблема немного сложнее:
import pandas as pd
import math
z = pd.DataFrame({'a':[4.0,5.0,6.0,7.0,8.0],'b':[6.0,0,5.0,0,1.0]})
z.where(z['b'] != 0, z['a'] / z['b'].apply(lambda l: math.log(l)), 0)
В этом примере я хочу указать значение в 'a', деленное на журнал значения в 'b' для каждой строки, а для строк, где 'b' равно 0, я просто хочу вернуть 0.