<p>您可以使用<code>|</code>和<code>&</code>运算符将筛选器的组合添加到数据帧。
创建虚拟数据帧,例如:</p>
<pre><code>df1 = pd.DataFrame({"Calories": [100, 200, 300, 400, 500],
"Protein": [10, 20, 30, 40, 50],
"IsBreakfast": [1, 1, 0, 0, 0],
"IsLunch": [1, 0, 0, 0, 1],
"IsDinner": [1, 1, 1, 0, 1]})
print(df1)
</code></pre>
<p>输出:</p>
<pre><code> Calories Protein IsBreakfast IsLunch IsDinner
0 100 10 1 1 1
1 200 20 1 0 1
2 300 30 0 0 1
3 400 40 0 0 0
4 500 50 0 1 1
</code></pre>
<p>现在添加所有条件:</p>
<pre><code>min_cal = 100
max_cal = 600
min_prot = 10
max_prot = 40
df_filtered = df1[
((df1['IsBreakfast']==1) | (df1['IsLunch']==1) | (df1['IsDinner']==1)) &
((df1['Calories'] > min_cal) & (df1['Calories'] < max_cal)) &
((df1['Protein'] > min_prot) & (df1['Protein'] < max_prot))
]
print(df_filtered)
</code></pre>
<p>输出:</p>
<pre><code> Calories Protein IsBreakfast IsLunch IsDinner
1 200 20 1 0 1
2 300 30 0 0 1
</code></pre>