У меня есть фрейм данных с 3 столбцами, а именно: 'word', 'pos-tag', 'label' .Слова изначально взяты из текстового файла. Теперь мне бы хотелось, чтобы в другом столбце «предложения #» указывался индекс предложений, из которых исходно слова.
Current state:-
WORD POS-Tag Label
my PRP$ IR
name NN IR
is VBZ IR
ron VBN PERSON
. .
my PRP$ IR
name NN IR
is VBZ IR
harry VBN Person
. . IR
Desired state:-
Sentence# WORD Pos-Tag Label
1 My PRP IR
1 name NN IR
1 is VBZ IR
1 ron VBN Person
1 . . IR
2 My PRP IR
2 name NN IR
2 is VBZ IR
2 harry VBN Person
2 . . IR
код, который я использовал до сих пор: -
#necessary libraries
import pandas as pd
import numpy as np
import nltk
import string
document=open(r'C:\Users\xyz\newfile.txt',encoding='utf8')
content=document.read()
sentences = nltk.sent_tokenize(content)
sentences = [nltk.word_tokenize(sent) for sent in sentences]
sentences = [nltk.pos_tag(sent) for sent in sentences]
flat_list=[]
# flattening a nested list
for x in sentences:
for y in x:
flat_list.append(y)
df = pd.DataFrame(flat_list, columns=['word','pos_tag'])
#importing data to create the 'Label' column
data=pd.read_excel(r'C:\Users\xyz\pname.xlsx')
pname=list(set(data['Product']))
df['Label']=['drug' if x in fl else 'IR' for x in df['word']]