我有一個熊貓DataFrame
四列,A, B, C, D
。事實證明,有時,B
和C
的值可以是0
。因此,我希望得到以下幾點:熊貓DataFrame應用
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
指示在幀的所有行運行。隨着熊貓很容易找到包含零列的行:
df[df.B == 0] and df[df.C == 0]
但是我不知道如何輕鬆地執行上述轉換。我可以想到各種效率低下且不夠優雅的方法(整個幀中的for
循環),但並不簡單。
很整齊。不過,我認爲你可以用'.max(axis = 1)'而不是'apply(...)'來避開。 – 2012-08-05 23:22:32
'max()'當然也沒問題,我想我對你提出問題的方式偏向於'apply'.-) – 2012-08-06 11:05:57