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

如何拆分字符串并为Pandas DataFrame分配唯一ID?附示例数据

解决方案:拆分字符串并为Pandas DataFrame分配唯一ID

针对你的需求,我分两种常见场景给出具体实现方案,你可以根据实际情况灵活选用:

场景1:将输入字符串拆分为DataFrame行并分配唯一ID

如果你的输入是一段用特定分隔符(比如换行、逗号)分隔的长字符串,或是一组独立的字符串列表,我们可以先拆分内容,再生成带唯一标识的DataFrame。

示例代码:

import pandas as pd
import uuid

# 示例输入字符串(用换行符分隔多条消息)
input_str = """@Zuora wants to help @Network4Good with Hurricane and hurriacane...
@ztrip please help spread the good word on hello and hello...
#ZSwaggers @Zendaya96 did this,you should too. You..."""

# 按换行符拆分字符串为单个消息的列表
message_list = input_str.split('\n')

# 生成唯一ID:两种可选方式
# 方式1:全局唯一的字符串ID(适合跨系统场景)
unique_ids = [str(uuid.uuid4()) for _ in message_list]
# 方式2:自增整数ID(适合仅需当前DataFrame内唯一的场景)
# unique_ids = list(range(1, len(message_list)+1))

# 创建最终DataFrame
df = pd.DataFrame({
    'DOCUMENT_ID': unique_ids,
    'MESSAGE': message_list
})

print(df.head())

关键说明:

  • 用split()方法根据实际分隔符拆分输入内容,比如逗号分隔就用split(', ')。
  • 两种ID生成方式各有优势:uuid保证全局唯一,自增整数更简洁直观。

场景2:对现有DataFrame的MESSAGE列拆分并分配新唯一ID

如果已经有类似你给出的示例DataFrame,需要把每条MESSAGE里的内容(比如按空格、@提及拆分)展开为单独行,同时为每个新行分配唯一ID,可以参考下面的实现:

示例代码:

import pandas as pd
import uuid

# 模拟你提供的示例DataFrame
data = {
    'MESSAGE': [
        "@Zuora wants to help @Network4Good with Hurricane and hurriacane...",
        "@ztrip please help spread the good word on hello and hello...",
        "#ZSwaggers @Zendaya96 did this,you should too. You..."
    ],
    'DOCUMENT_ID': [263403828328665088, 264142543883739136, 265122997348753408]
}
df = pd.DataFrame(data)

# 拆分MESSAGE列(这里按空格拆分,可自定义分隔符)
# 拆分后展开为多行,保留原文档ID,同时生成新唯一ID
df_expanded = df.assign(MESSAGE=df['MESSAGE'].str.split()).explode('MESSAGE', ignore_index=True)
df_expanded['NEW_UNIQUE_ID'] = [str(uuid.uuid4()) for _ in range(len(df_expanded))]

print(df_expanded.head())

关键说明:

  • str.split()可传入自定义分隔符,比如按@拆分就用str.split('@')。
  • explode()方法会把拆分后的列表展开为独立行,ignore_index=True用来重置行索引,避免索引混乱。
  • 保留原DOCUMENT_ID列可以追踪每个拆分内容来自哪条原始消息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 07:03:26