Как разделить один столбец на другой ноль и str безопасно?
Я не хочу создавать новые столбцы «A» и «B» без нуля и нуля по некоторым причинам. Если отделение не возможно, я хочу получить Nones.
df = pd.DataFrame({'A': [0, None, 2, 1 ,5], 'B': [1, 3,'', 'cat', 4]})
Я пытаюсь:
df['C'] = df['B'].divide(df['A'], fill_value=None) # error with zero devision
На самом деле, это работает, но, может быть, есть более элегантный способ?
`df['C'] = df.apply(lambda row: row['B']/row['A'] if isinstance(row['A'], numbers.Number) and isinstance(row['B'], numbers.Number) and row['A'] != 0 else None, axis = 1) # this works perfectly but looks ugly`