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

如何按指定次数重复DataFrame列中关联数字的单词?

解决方案

可以用Python的pandas库实现这个需求,核心是写一个自定义函数处理ColB的每个字符串,再通过apply批量处理整列数据。

代码实现

import pandas as pd

# 创建示例DataFrame
df = pd.DataFrame({
    'ColA': ['A', 'B'],
    'ColB': ['Banana:2;Kiwi:4;Apple:1', 'Kiwi:1;Orange:4']
})

# 定义处理单个字符串的函数
def expand_colb(s):
    # 按分号拆分每个单词-数字条目
    items = s.split(';')
    result = []
    for item in items:
        # 拆分单词和重复次数
        word, count = item.split(':')
        # 按次数重复单词并加入结果列表
        result.extend([word] * int(count))
    # 用分号拼接成最终字符串
    return ';'.join(result)

# 应用函数到ColB列
df['ColB'] = df['ColB'].apply(expand_colb)

print(df)

输出结果

ColA                                            ColB
0    A  Banana;Banana;Kiwi;Kiwi;Kiwi;Kiwi;Apple
1    B                Kiwi;Orange;Orange;Orange;Orange

步骤说明

  1. 把ColB的每个字符串按分号拆成独立的单词:数字条目;
  2. 对每个条目拆分出单词和重复次数,将单词重复对应次数后存入临时列表;
  3. 把临时列表里的元素用分号拼接成新字符串,替换原ColB列的值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 20:07:01