R语言如何将含多标签Region列的dataframe导出为指定格式CSV
实现方案(Python Pandas 实现,最简便)
- 先将Region列按空格拆分,生成每行对应多个区域标签的列表结构
- 对拆分后的列做独热编码,存在对应标签的位置标记为1,不存在的默认标记为0
- 将0值统一替换为
NA,再和原ID列拼接得到目标结构的DataFrame - 调用原生to_csv方法导出即可
完整可运行代码示例
import pandas as pd # 这里替换为你自己读取DataFrame的代码,比如pd.read_excel()、pd.read_csv()等 df = pd.DataFrame({ "ID": [1,2,3], "Region": ["a b c d", "b c d e g", "a c e f g h"] }) # 核心转换逻辑 # 按空格拆分Region列并生成独热编码 dummies = df["Region"].str.get_dummies(sep=" ") # 将0值替换为NA,保留1的标记 dummies = dummies.replace(0, pd.NA) # 拼接ID列和编码后的列 result_df = pd.concat([df["ID"], dummies], axis=1) # 若需要严格固定a到h的列顺序,保留下面这行代码即可 result_df = result_df[["ID", "a", "b", "c", "d", "e", "f", "g", "h"]] # 导出CSV,na_rep参数保证空值导出后显示为NA result_df.to_csv("你的存储路径.csv", index=False, na_rep="NA")
若你的Region列存在示例外的其他标签,
str.get_dummies会自动生成对应的列,无需手动新增。不需要固定列顺序的话删除指定列顺序的代码即可。
内容的提问来源于stack exchange,提问作者Clo
相关产品推荐
相关产品推荐

