回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>相关:<a href="https://stackoverflow.com/questions/15315452/selecting-with-complex-criteria-from-pandas-dataframe">Selecting with complex criteria from pandas.DataFrame</a></p>
<p>我有一些数据帧:</p>
<pre><code>df = pd.DataFrame({'name': ['apple1', 'apple2', 'apple3', 'apple4', 'orange1', 'orange2', 'orange3', 'orange4'],
'A': [0, 0, 0, 0, 0, 0 ,0, 0],
'B': [0.10, -0.15, 0.25, -0.55, 0.50, -0.51, 0.70, 0],
'C': [0, 0, 0.25, -0.55, 0.50, -0.51, 0.70, 0.90],
'D': [0.10, -0.15, 0.25, 0, 0.50, -0.51, 0.70, 0.90]})
df
name A B C D
0 apple1 0 0.10 0.00 0.10
1 apple2 0 -0.15 0.00 -0.15
2 apple3 0 0.25 0.25 0.25
3 apple4 0 -0.55 -0.55 0.00
4 orange1 0 0.50 0.50 0.50
5 orange2 0 -0.51 -0.51 -0.51
6 orange3 0 0.70 0.70 0.70
7 orange4 0 0.00 0.90 0.90
</code></pre>
<p>现在让我们假设我想选择<code>A</code>、<code>B</code>、<code>C</code>和<code>D</code>中值小于0.25的所有行:</p>
<pre><code>df[(df['A'] < 0.25) &
(df['B'] < 0.25) &
(df['C'] < 0.25) &
(df['D'] < 0.25)]
name A B C D
0 apple1 0 0.10 0.00 0.10
1 apple2 0 -0.15 0.00 -0.15
3 apple4 0 -0.55 -0.55 0.00
5 orange2 0 -0.51 -0.51 -0.51
</code></pre>
<p>很好,但是<strong>使用列列表作为输入可以实现同样的效果吗?</strong></p>
<p>想象一下,我想过滤100列而不是4列</p>