如何在给定DataFrame中过滤索引`std`对应值为0的列?
过滤DataFrame中
std索引取值为0的列 方法一:分步实现
假设你的DataFrame变量名为df,可按以下步骤操作:
- 获取索引为
std的行数据
std_values = df.loc['std']
- 筛选出该行中取值为0的列名
zero_std_cols = std_values[std_values == 0].index
- 提取原DataFrame中这些列
result_df = df[zero_std_cols]
方法二:一行简洁版
直接通过布尔掩码筛选列,代码更紧凑:
result_df = df.loc[:, df.loc['std'] == 0]
说明
df.loc['std']精准定位到索引为std的整行df.loc['std'] == 0生成布尔数组,标记哪些列的std值为0loc[:, 布尔数组]表示保留所有行,仅筛选满足条件的列
内容的提问来源于stack exchange,提问作者Kas
相关产品推荐
相关产品推荐

