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

清理Excel导出的非结构化DataFrame并新增Type列求解决方案

优化DMO国债DataFrame的实现方案

核心需求

  • 将原列名Conventional Gilts重命名为Name
  • 新增Type列,自动识别原Conventional Gilts列中的分组类别,填充到对应组内的所有数据行
  • 支持动态适配新增分组类别,无需手动维护类别列表

实现步骤(R语言)

1. 读取Excel数据

用readxl包读取目标文件,保留原始行结构:

library(readxl)
library(dplyr)
library(tidyr)

# 读取Excel文件(替换为你的本地文件路径)
df <- read_excel("path/to/your/file.xls", col_names = TRUE)

2. 动态识别分组行

分组行的特征是:仅Conventional Gilts列有值,其余列均为空/NA。基于此特征标记分组行并提取类别:

df <- df %>%
  mutate(
    # 标记分组行:判断除目标列外的所有列是否全为NA
    is_group = rowSums(!is.na(select(., -`Conventional Gilts`))) == 0,
    # 仅在分组行中记录Type值,其余行留空
    Type = ifelse(is_group, `Conventional Gilts`, NA)
  )

3. 填充Type列并整理数据

将分组类别向下填充至对应组的数据行,再清理临时标记列并重命名目标列:

df <- df %>%
  fill(Type, .direction = "down") %>%  # 向下填充最近的分组类别
  filter(!is_group) %>%  # 移除分组标题行,只保留有效数据
  rename(Name = `Conventional Gilts`)  # 重命名列

4. 动态适配验证

如果后续数据新增了新的分组类别(比如Super-Long),上述代码无需任何修改即可自动识别并填充——因为分组行的判断逻辑基于数据特征,而非硬编码的类别列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:20:33