在R语言中基于含_name的列名添加对应空列的方法
解决方案(Pandas实现)
步骤说明与代码示例
假设你使用Python的Pandas库,以下是实现需求的完整代码:
- 构造示例DataFrame(模拟你的数据)
import pandas as pd data = { "ID": [1, 2], "director_name": ["A", "B"], "vp_name": ["C", "D"], "lead_name": ["E", "G"], "funding": ["100$", "200$"] } df = pd.DataFrame(data)
- 筛选所有包含
_name的列
name_columns = [col for col in df.columns if "_name" in col]
- 遍历插入对应空性别列
for col in name_columns: # 生成新列名:将原列名的"_name"替换为"_g" new_col_name = col.replace("_name", "_g") # 获取原列在DataFrame中的位置 original_col_index = df.columns.get_loc(col) # 在原列后方插入空列,用空字符串填充(若需NaN可替换为pd.NA) df.insert(original_col_index + 1, new_col_name, "")
- 验证结果
执行print(df)会输出你需要的结构:
ID director_name director_g vp_name vp_g lead_name lead_g funding 0 1 A C E 100$ 1 2 B D G 200$
关键逻辑解释
- 列筛选:通过字符串包含判断
"_name" in col精准定位目标列,无需依赖数据内容。 - 新列命名:直接通过字符串替换规则生成对应性别列名,保证命名一致性。
- 列位置控制:利用
df.columns.get_loc(col)获取原列索引,插入到索引+1的位置,确保新列紧跟在对应姓名列之后。
内容的提问来源于stack exchange,提问作者Jasleen Kaur
相关产品推荐
相关产品推荐

