擅长:python、mysql、java
<p>如果数据帧中有多个列,并且希望删除至少一列中有异常值的所有行,则以下表达式将一次性完成此操作。</p>
<pre><code>df = pd.DataFrame(np.random.randn(100, 3))
from scipy import stats
df[(np.abs(stats.zscore(df)) < 3).all(axis=1)]
</code></pre>
<p><strong>说明:</strong></p>
<ul>
<li>对于每一列,首先计算
列,相对于列的平均值和标准偏差。</li>
<li>那么is取Z分数的绝对值,因为方向不是
重要的是,只有低于门槛。</li>
<li>所有(轴=1)确保对于每一行,所有列都满足
约束。</li>
<li>最后,使用此条件的结果来索引数据帧。</li>
</ul>