<ul>
<li>生成数据以匹配您的DF</li>
<li>使用np.select()返回匹配的条件,或者使用<code>np.nan</code>返回透明度</li>
<li>然后简单地进入<code>bool</code></li>
</ul>
<pre><code>s = 200
df = pd.DataFrame({"Hazard_type":np.random.choice(["Drought","Flood"],s),
"Card_type":np.random.choice(["Red block","Green block"],s),
"Round":np.random.randint(1,7,s),
"Scenario":np.random.choice(["scenario A","scenario B"],s),
"Payment_type":np.random.choice(["One payment (lump sum)","Two payments"],s)})
conditions = [
# condition 0
((df['Hazard_type'] == 'Drought') & (df['Card_type'] == 'Red block') & (df['Round'] == 1)
& (df['Scenario'] == 'scenario A') & (df['Payment_type'] == 'One payment (lump sum)')
),
# condition 1
((df['Hazard_type'] == 'Drought') & (df['Card_type'] == 'Green block') & (df['Round'] == 1) &
(df['Scenario'] == 'scenario A') & (df['Payment_type'] == 'One payment (lump sum)')
)]
df = df.assign(Correct_case=np.select(conditions, [c for c in range(len(conditions))], np.nan),
Correct_entry=lambda dfa: ~dfa.Correct_case.isna())
</code></pre>
<h3>正确_项的示例输出==True</h3>
<div class="s-table-container">
^{tb1}$
</div>