Pandas如何按文本内容分组并生成对应浮点型数值分组列
Pandas实现方案
你可以通过手动指定映射规则+map()方法实现需求,代码示例如下:
import pandas as pd # 构造你的原始DataFrame df = pd.DataFrame({ 'Text': ['Background', 'Clinical', 'Method', 'Direct', 'Background', 'Direct'] }) # 定义分组映射规则 text_to_group = { 'Background': 1, 'Clinical': 2, 'Method': 3, 'Direct': 4 } # 生成浮点型Group列 df['Group'] = df['Text'].map(text_to_group).astype('float')
执行后输出的df就和你预期的结果完全一致,Group列为浮点型数值。
如果后续需要新增文本分类,直接在text_to_group字典里追加对应键值对即可。如果分类数量多不想手动写字典,也可以按指定顺序批量生成映射规则:
# 按你规定的顺序排列所有文本类别 category_order = ['Background', 'Clinical', 'Method', 'Direct'] text_to_group = {item: idx+1 for idx, item in enumerate(category_order)} df['Group'] = df['Text'].map(text_to_group).astype('float')
内容的提问来源于stack exchange,提问作者Rikky Bhai
相关产品推荐
相关产品推荐

