首页 > 解决方案 > 使用映射将 DataFrame 从数字转换为字符串

问题描述

使用映射将数据帧从字符串转换为数字(作为 ID),以便我可以在机器学习作业之后将数值映射回字符串(这需要数值进行训练)

我的数据框中有 2 列:-

  1. Repository Name(需要转换的字符串)
  2. Number of Stars(数值,因此无需执行任何操作)

我想将字符串转换为 ID,并且需要映射这些以在将来使用它。

注意:我的字符串是类似单词freecodecamp而不是字符串中的整数值。

标签: pythonpandasdataframelambda

解决方案


def get_metadata(df, key, val):
    #create a new column with index 
    df['index'] = df.index
    if key == "Repository Name":
        return {str(row[key]): row[val] for _, row in df.iterrows()}
    else:
        return {row[key]: row[val] for _, row in df.iterrows()}

emb2idx = get_metadata(dataframe, "index", "Repository Name")

您将获得索引(ID)的字典和您的字符串(存储库名称)以供将来映射。


推荐阅读