擅长:python、mysql、java
<p>布尔索引和apply的结合可以做到这一点。
下面是关于替换C列的零元素的示例</p>
<pre><code>In [22]: df
Out[22]:
A B C D
0 8 3 5 8
1 9 4 0 4
2 5 4 3 8
3 4 8 5 1
In [23]: bi = df.C==0
In [24]: df.ix[bi, 'C'] = df[bi][['A', 'D']].apply(max, axis=1)
In [25]: df
Out[25]:
A B C D
0 8 3 5 8
1 9 4 9 4
2 5 4 3 8
3 4 8 5 1
</code></pre>