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

如何在Python中拆分DataFrame的objectToBeSplit列至多个列?

拆分DataFrame中的objectToBeSplit列的方法

根据需求分两种场景处理:

场景1:objectToBeSplit是字符串类型

如果该列内容是类似"{0.223, 0.112, 0.441}"的字符串,可通过字符串清洗+拆分实现:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'A': [1, 3],
    'B': [2, 4],
    'objectToBeSplit': ['{0.223, 0.112, 0.441}', '{0.423, 0.402, 0.593}']
})

# 移除首尾的{},按逗号+空格拆分,转为数值类型
split_data = df['objectToBeSplit'].str.strip('{}').str.split(', ', expand=True).astype(float)
# 给新列命名
split_data.columns = ['C', 'D', 'E']
# 合并原列与拆分后的列
result = pd.concat([df[['A', 'B']], split_data], axis=1)

print(result)

场景2:objectToBeSplit是集合(set)类型

如果该列存储的是Python集合对象,需先转为有序列表(集合本身无序,建议排序保证结果稳定),再展开为列:

import pandas as pd

# 构造示例数据(列内容为集合)
df = pd.DataFrame({
    'A': [1, 3],
    'B': [2, 4],
    'objectToBeSplit': [{0.223, 0.112, 0.441}, {0.423, 0.402, 0.593}]
})

# 将集合转为排序后的列表,再展开为列
split_data = df['objectToBeSplit'].apply(lambda x: sorted(list(x))).apply(pd.Series).astype(float)
split_data.columns = ['C', 'D', 'E']
# 合并列
result = pd.concat([df[['A', 'B']], split_data], axis=1)

print(result)

注意事项

  • 若处理集合类型数据,务必注意集合的无序性,使用sorted()能确保拆分后各列的数值顺序固定,避免结果混乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 01:12:51