将DateFrame里存储的三元组换为索引index

目录

1.读取文件,生成DateFrame格式三元组

2.调用三元组转index函数

3.三元组转index函数


1.读取文件,生成DateFrame格式三元组

self.posDf = pd.read_csv(posDataPath,
                                 sep="\t",
                                 names=["head", "relation", "tail"],
                                 header=None,
                                 encoding="utf-8",
                                 keep_default_na=False)
print(self.posDf)

效果如下:

将DateFrame里存储的三元组换为索引index_第1张图片

2.调用三元组转index函数

    self.transformToIndex(self.posDf, repDict={"head":self.entityDict,
                                                   "relation":self.relationDict,
                                                   "tail":self.entityDict})
    print(self.posDf)

 其中entityDict和realationDict,分别是实体2id,关系2id

效果为:

将DateFrame里存储的三元组换为索引index_第2张图片

3.三元组转index函数

def transformToIndex(csvData:pd.DataFrame, repDict:dict):
    for col in repDict.keys():
        csvData[col] = csvData[col].apply(lambda x:repDict[col][x])

repDict.keys()为head,relation,tail

其中x为三元组中的名字,repDict[col][x]为名字对应ID

你可能感兴趣的:(代码,python,pandas,开发语言,知识图谱,nlp)