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

如何在Pandas DataFrame中将单元格拆分为多行?

Pandas DataFrame多内容单元格拆分为多行的实现方案

假设你的DataFrame中存在单元格包含用特定分隔符(如逗号、分号)分隔的多个内容,以下是具体的Python代码实现方案:

1. 模拟原始数据(对应你提供的raw图结构)

import pandas as pd

# 构造示例数据,替换为你的实际数据
df = pd.DataFrame({
    'ID': [1, 2, 3],
    'Name': ['Alice', 'Bob;Charlie', 'David,Eve,Frank'],
    'Age': [25, 30, 35]
})

2. 单列拆分实现

如果仅需拆分某一列(比如Name列),按以下步骤操作:

# 配置拆分参数:目标列、分隔符(根据你的实际分隔符修改,比如';'或'|')
target_col = 'Name'
delimiter = ','  # 示例用逗号,若你的数据是分号则改为';'

# 将目标列的字符串按分隔符拆分为列表
df[target_col] = df[target_col].str.split(delimiter)

# 将列表拆分为多行,同时保留其他列的对应值
result_df = df.explode(target_col, ignore_index=True)

# 查看结果
print(result_df)

3. 处理空值与脏数据

如果存在空单元格或拆分后出现空值,可添加过滤逻辑:

# 拆分前先处理空字符串,避免生成空行
df[target_col] = df[target_col].apply(
    lambda x: x.split(delimiter) if pd.notna(x) and x.strip() else None
)

# 拆分并过滤空值行
result_df = df.explode(target_col, ignore_index=True).dropna(subset=[target_col])

4. 多列同时拆分

如果有多个列需要拆分,可循环处理每一列:

# 需要拆分的列列表
split_cols = ['Name', 'Hobby']  # 示例列名,替换为你的实际列

for col in split_cols:
    df[col] = df[col].str.split(delimiter)
    df = df.explode(col, ignore_index=True)

# 最终结果
print(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 01:46:18