You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按行过滤Pandas DataFrame?保留std大于1000的列

按行条件过滤Pandas DataFrame列的解决方案

你的代码df.describe().sort_values(by = 'std', axis = 1).loc['std'] > 1000仅生成了布尔判断结果,没有用该结果去筛选列,因此无法达到保留符合条件列的预期效果。以下是正确的实现步骤:

步骤1:生成完整统计描述结果

先获取数据集的全量统计描述:

desc = df.describe()

步骤2:创建筛选掩码

提取std行中数值大于1000的布尔筛选条件:

std_mask = desc.loc['std'] > 1000

步骤3:筛选目标列

用布尔掩码过滤统计描述结果的列,得到所有标准差大于1000的列的完整统计信息:

filtered_desc = desc.loc[:, std_mask]

可选:排序后再筛选

如果需要按标准差排序后保留结果,可将排序与筛选合并:

# 按标准差降序排列后筛选
filtered_desc = df.describe().sort_values(by='std', axis=1, ascending=False).loc[:, std_mask]

执行后即可得到仅包含标准差大于1000的列的describe()结果。

内容的提问来源于stack exchange,提问作者Katsu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:02:49