Saj*_*ier 1 python numpy pandas
我有数据pandas框,我想消除列的极值。例如:我有pandas一个名为 的数据框df,并percentage在其中调用了列。我想根据以下条件过滤掉数据框,根据百分比列中的值消除前 10 个百分点和最后 10 个百分点。
我想将其过滤到第 10 个到第 90 个百分位数。
我想到了以下几点
df[(df.percentage > np.percentile(df.percentage, 10 )) & (df.percentage < np.percentile(df.percentage, 90 ))]
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?或者有人可以推荐更快的方法吗?
尝试 .quantile
p_10 = df.percentage.quantile(0.1)
p_90 = df.percentage.quantile(0.9)
df[df.percentage.gt(p_10) & df.percentage.lt(p_90)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |