擅长:python、mysql、java
<p>下面是一个使用<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.any.html" rel="nofollow noreferrer">^{<cd1>}</a>和<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.mask.html" rel="nofollow noreferrer">^{<cd2>}</a>而不使用<code>apply</code>的解决方案:</p>
<pre><code>df = pd.DataFrame(index=range(8), columns = ['TOT_SIGNAL','TRADING_DAY']).join(pd.DataFrame(np.eye(8, 5)))
df.TRADING_DAY = df.TRADING_DAY.mask((df.iloc[:,2:] != 0).any(axis=1), 1)
</code></pre>
<p>结果:</p>
<pre><code> TOT_SIGNAL TRADING_DAY 0 1 2 3 4
0 NaN 1 1.0 0.0 0.0 0.0 0.0
1 NaN 1 0.0 1.0 0.0 0.0 0.0
2 NaN 1 0.0 0.0 1.0 0.0 0.0
3 NaN 1 0.0 0.0 0.0 1.0 0.0
4 NaN 1 0.0 0.0 0.0 0.0 1.0
5 NaN NaN 0.0 0.0 0.0 0.0 0.0
6 NaN NaN 0.0 0.0 0.0 0.0 0.0
7 NaN NaN 0.0 0.0 0.0 0.0 0.0
</code></pre>