Как применить функцию списка к генератору текстовых сообщений obj в pandas df
Я применяю функцию "список" к столбцу панд, который содержит объекты генератора, в попытке показать все объекты генератора в столбце. При применении col возвращает пустые списки. 'Subject_verb_object_triples' - это функция textacy ( https://chartbeat-labs.github.io/textacy/_modules/textacy/extract.html)
печать (sp500news3)
date_publish title
79944 2007-01-29 19:08:35 <generator object subject_verb_object_triples at 0x1a42713550>
181781 2007-12-14 19:39:06 <generator object subject_verb_object_triples at 0x1a42713410>
213175 2008-01-22 11:17:19 <generator object subject_verb_object_triples at 0x1a427135f0>
93554 2008-01-22 18:52:56 <generator object subject_verb_object_triples at 0x1a427135a0>
In []: sp500news3["title"].apply(list)
Out []: 79944 []
181781 []
213175 [] ...
Ожидаемый результат - кортежи, такие как следующее:
[(Sky proposal, is, matter), (Sky proposal, is, Mays spokesman)],
[(Women, lag, Intel report)],
[(Amazon, expected, to unveil)],
[(Goldman Sachs, raising, billion)],
[(MHP, opens, books)],
[(Disney, hurls, magic), (Disney, hurls, moolah)],
[(Amazon, offering, loans), (Amazon, offering, to)], ....
Как я могу отобразить ожидаемый результат в моем фрейме данных?
0 ответов
Я протестировал приведенный ниже код, и он работает нормально
import textacy
import pandas as pd
from textacy import preprocessing
pd.options.display.max_colwidth=-1
df['<New Column name'>]=df['<Your column name that needs to be processed>'].apply(lambda x:preprocessing.normalize_whitespace(preprocessing.remove_punctuation(str(x))))