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

pandas中如何将单列多行按空行分组合并为单行?

解决方案

你可以通过pandas分组聚合实现需求,核心逻辑是用空内容作为分组分隔,拼接同组的有效内容:

方法1:直接处理已生成的DataFrame

import pandas as pd

# 你的原始数据
list_one = ['apple','banana','cherry',' ', 'grape', 'orange', 'pineapple','']
df = pd.DataFrame({'list_one':list_one})

# 1. 标记有效行(排除空字符串、全空格的行)
df['is_valid'] = df['list_one'].str.strip().ne('')
# 2. 生成分组ID:每次遇到无效行,分组编号+1
df['group_id'] = (~df['is_valid']).cumsum()
# 3. 按分组拼接有效内容,得到最终结果
result = df[df['is_valid']].groupby('group_id')['list_one'].agg(', '.join).reset_index(drop=True).to_frame('list_one')

输出result即可得到你需要的格式:

list_one
0   apple, banana, cherry
1  grape, orange, pineapple

方法2:提前处理原始列表(更高效)

如果可以在转DataFrame前处理原始列表,用itertools.groupby实现更简洁:

import pandas as pd
from itertools import groupby

list_one = ['apple','banana','cherry',' ', 'grape', 'orange', 'pineapple','']
res = []
for is_valid, items in groupby(list_one, key=lambda x: x.strip() != ''):
    if is_valid:
        res.append(', '.join(items))
result = pd.DataFrame({'list_one': res})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:45:00