首页 > 解决方案 > 如何按单词分组并创建由浮点值组成的等效列?(熊猫)

问题描述

我有一个数据框:

   Text                 
   Background  
   Clinical      
   Method
   Direct
   Background
   Direct

现在我想根据他们的第一个单词将它们分组在新列中,例如Background 属于第 1 组Clinical 属于第 2 组,就像这样。

预期输出:

一个数据框:

   Text            Group      
   Background       1
   Clinical         2
   Method           3
   Direct           4
   Background       1
   Direct           4

标签: pythonpython-3.xpandasdataframenumpy

解决方案


尝试这个:

import pandas as pd

text = ['Background', 'Clinical', 'Method', 'Direct', 'Background', 'Direct']
df = pd.DataFrame(text, columns=['Text'])


def create_idx_map():
    idx = 1
    values = {}
    for item in list(df['Text']):
        if item not in values:
            values[item] = idx
            idx += 1
    return values

values = create_idx_map()
df['Group'] = [values[x] for x in list(df['Text'])]

print(df)

推荐阅读