У меня есть Pandas DataFrame
с четырьмя столбцами A, B, C, D
. Оказывается, иногда значения B
и C
могут быть 0
. Поэтому я хочу получить следующее:
B[i] = B[i] if B[i] else min(A[i], D[i])
C[i] = C[i] if C[i] else max(A[i], D[i])
где я использовал i
для обозначения пробега по всем рядам кадра. С Pandas легко найти строки, содержащие нулевые столбцы:
df[df.B == 0] and df[df.C == 0]
однако я понятия не имею, как легко выполнить вышеуказанное преобразование. Я могу придумать различные неэффективные и неэлегантные методы(for
петли по всему кадру ), но ничего простого.