R数据框操作:筛选指定财年全量有记录的机构对应数据行
CSV数据清洗实现方案
核心逻辑:先过滤掉2000-2003范围外的无效年份数据,再统计每个机构的年份覆盖数,仅保留覆盖全部4个年份的机构对应记录。
Python(pandas实现)
import pandas as pd # 读取原始CSV文件 df = pd.read_csv("你的文件路径.csv") # 筛选2000-2003年的记录 df_target_year = df[df["year"].between(2000, 2003)] # 筛选出4年数据都完整的机构 valid_orgs = df_target_year.groupby("Organization")["year"].nunique() valid_orgs = valid_orgs[valid_orgs == 4].index # 得到最终结果 result = df_target_year[df_target_year["Organization"].isin(valid_orgs)] # 导出结果到新CSV result.to_csv("清洗后结果.csv", index=False)
R(dplyr实现)
library(dplyr) # 读取原始CSV文件 df <- read.csv("你的文件路径.csv") # 执行清洗逻辑 result <- df %>% filter(year >= 2000 & year <= 2003) %>% group_by(Organization) %>% filter(n_distinct(year) == 4) %>% ungroup() # 导出结果到新CSV write.csv(result, "清洗后结果.csv", row.names = FALSE)
注意:如果你的CSV里年份字段名是示例中的Year首字母大写,需要对应调整代码里的字段名拼写
内容的提问来源于stack exchange,提问作者nsardar
相关产品推荐
相关产品推荐

