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

R语言:基于行值字符串批量修改DataFrame列名

解决方案

可以通过Pandas的批量字符串拆分操作实现,无需手动处理每一列,步骤如下:

  1. 批量拆分键值对:对整个DataFrame的每一列执行字符串拆分,按=分割成键和值两部分
  2. 提取新列名:由于每列所有行的键一致,直接取第一行的键作为新列名
  3. 提取数据并重构DataFrame:提取拆分后的值部分,重新设置列名,可选转换数据类型

代码实现

import pandas as pd

# 假设df是已读取的原始DataFrame
split_result = df.apply(lambda col: col.str.split('=', expand=True))

# 获取新列名:从每个原列拆分后的第一行取键(索引0的位置)
new_col_names = split_result.iloc[0, ::2].tolist()

# 提取所有值部分(拆分后的第二列,索引1的位置),并设置新列名
processed_df = split_result.iloc[:, 1::2]
processed_df.columns = new_col_names

# 可选:将字符串类型的数值转为数值类型(根据实际数据调整)
processed_df = processed_df.apply(pd.to_numeric)

说明

  • 该方法自动处理所有列,不管列数多少都适用
  • split_result.iloc[:, ::2] 取所有拆分后的键列,iloc[:, 1::2] 取所有值列,利用步长索引批量选择
  • 如果部分列的格式不是key=value,可以先过滤或单独处理,但根据问题描述所有列格式统一,无需额外处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:10:38