Я пытаюсь найти слово в качестве значения в словаре в предложении (строка csv). И если слово найдено в предложении, я бы хотел, чтобы вывод был идентификатором, предложением и ключом.
Запуск python 3.6 в качестве кадра данных для панд. Я могу получить значения, но не могу заставить цикл работать на .items()
, чтобы получить ключ, который также должен быть возвращен
dict = {'housing': 'homeless',
'housing2': 'homelessness',
'housing3': 'evicted',
'housing4': 'shelter'}
# dataframe with one row for each ID and sentence
sentences = []
for row in text.itertuples():
for sentence in row[2].split('.'):
if sentence != '':
sentences.append((row[1], sentence))
sentence = pd.DataFrame(sentences, columns=['ID', 'sentence'])
#find dictionary value in sentences
def find_sdh(x):
val = [x for k in dict.values() if k in x]
if val:
return val
# link sentence, id, value
sentence['sdh'] = sentence['sentence'].apply(find_sdh)
# drop null values
df = sentence.dropna(subset=['sdh'])
Это обеспечивает согласованное значение словаря с идентификатором и предложением.
(ID,sentence)
(246,'This is an example.')
(132,'This is a test.')
(662,'This is fake data.')
Мне нужен идентификатор, предложение и ключ (связанный с соответствующим значением)
(ID, sentence, key)
(246, This is an example., key1)
(132, This is a test., key5)
(662, This is fake data, key3)
Пожалуйста и спасибо!