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

如何筛选仅在含x的Date索引行有值的DataFrame列?

筛选目标列的实现步骤
  • 先把DataFrame拆分为x后缀索引行和y后缀索引行两个子集:
    # 提取所有索引以x结尾的行
    df_x = df[df.index.str.endswith('x')]
    # 提取所有索引以y结尾的行
    df_y = df[df.index.str.endswith('y')]
    
  • 筛选符合要求的列:
    1. 找出y后缀行中所有行均为NaN的列:y_all_nan = df_y.isna().all()
    2. 同时确保x后缀行中至少存在一个有效值(排除全NaN的无效列):x_has_valid = df_x.notna().any()
    3. 合并两个条件,得到目标列的布尔掩码:target_cols = y_all_nan & x_has_valid
    4. 提取最终的筛选结果:
    filtered_df = df.loc[:, target_cols]
    

注:如果你的索引是日期格式拼接的后缀(比如经pd.to_datetime处理后带后缀),需要先把索引转为字符串再判断后缀,示例:df.index.astype(str).str.endswith('x')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 12:55:37