У меня есть датафрейм:
c1 | c2 | c3 | c4 5 | 4 | 9 | 3
Как я могу выполнить поэлементное деление (или какую-либо другую операцию) между c1 / c2 и c3 / c4
Так что результат будет:
.5555 | 1.33333
Я пробовал:
df[['c1', 'c2']].div(df[['c3', 'c4']], axis='index'))
Но это только что привело к NaNs.
Одним из решений является переход на NumPy и создание нового кадра данных:
res = pd.DataFrame(df[['c1', 'c2']].values / df[['c3', 'c4']].values) print(res) 0 1 0 0.555556 1.333333
Довольно просто, просто разделите на значения
df[['c1', 'c2']]/df[['c3','c4']].values
Заказы имеют значение, поэтому убедитесь, что вы используете правильный порядок в знаменателе. Нет необходимости воссоздавать DataFrame
Я не уверен, что правильно понимаю ваш вопрос, но вы можете буквально разделить серию.
df['c1/c2'] = df['c1'] / df['c2']
См. Этот ответ: Как разделить два столбца в кадре данных
РЕДАКТИРОВАТЬ: Хорошо, я понимаю, что ОП спрашивают сейчас .. Пожалуйста, смотрите другой ответ.