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

如何拆分Pandas DataFrame中以空格分隔的单元格并生成76列?

解决方案

要把你的cardiac DataFrame每行的所有空格分隔值拆分成76个独立列,我们可以通过三步快速实现:

  • 合并每行的所有列内容:把每行10列里的所有数值字符串拼接成一个完整的空格分隔字符串
  • 拆分字符串为多列:将拼接后的字符串直接拆分成76个列
  • (可选)设置列名:给新列命名,方便后续处理

下面是具体的代码实现:

import pandas as pd

# 处理你的原始DataFrame cardiac
# 1. 按行合并所有列的内容为单个字符串
merged_rows = cardiac.apply(lambda row: ' '.join(row.astype(str)), axis=1)

# 2. 拆分字符串并只保留前76列(确保符合你的需求)
split_df = merged_rows.str.split(expand=True).iloc[:, :76]

# 3. 给新DataFrame设置清晰的列名(可选操作)
split_df.columns = [f'feature_{num:02d}' for num in range(76)]

# 查看结果
split_df.head()

细节说明

  • astype(str):确保所有列的内容都转成字符串类型,避免数字类型直接拼接时出现格式错误
  • str.split(expand=True):Pandas的这个方法会自动把拆分后的列表展开成多列,完美适配这种场景
  • iloc[:, :76]:虽然你提到每行正好有76个值,但加上这个可以防止因数据异常出现多余列的情况,让代码更健壮

如果你的原始列已经都是字符串类型,可以把row.astype(str)改成row,简化代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:37:44