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

如何为DataFrame字典导入的for循环添加观测数筛选条件

解决方法

修正后的代码

import pandas as pd
import numpy as np
import glob
import os  # 补充原代码缺失的os模块导入

monthly_files = glob.glob("Module 6/data/Month_xx_data/*")
monthly_data = {}
MIN_ROWS = 50000  # 设定最小观测数阈值

for file_path in monthly_files:
    month = os.path.basename(file_path)[:-4]
    df = pd.read_csv(file_path)
    # 仅保留行数达标DataFrame
    if len(df) >= MIN_ROWS:
        monthly_data[month] = df

# 验证筛选结果
for month, df in monthly_data.items():
    print(f"{month}: {len(df)} 行")

关键修改说明

  • 补全import os:原代码调用os.path.basename但未导入模块,会触发NameError报错。
  • 新增行数判断逻辑:读取DataFrame后先检查行数,仅将满足阈值要求的数据存入字典,直接过滤观测数不足的文件。
  • 可选结果验证:最后循环打印保留的月份和对应行数,方便快速确认筛选是否生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 00:00:16