Когда я передаю функцию через DataFrame.apply (), я получаю значения, заключенные в то, что я предполагаю, является их типом объекта.Я уже видел эту ошибку для двух приложений: одно с использованием библиотеки Wordnet NLTK (возвращает Synset ('значение'), а другое с Datetime (Datetime ('value')).
Я нарисовалНиже приведено несколько примеров для получения кода, поэтому я не понимаю, что делаю неправильно.
Я пытался использовать эту функцию - Применение синтаксиса к пандам (а также другой вариант) - но по какой-то причине он возвращает Series (хотя я и указал, что это фрейм данных), и поэтому .applymap () не работает. Вариации с использованием .map () и просто .apply() также были проблематичны.
Вот что у меня есть (используя панд и несколько библиотек nltk):
df_agri_clean['Synsets'] = [x[0] for x in df_agri_clean['Category'].apply(wordnet.synsets)]
df_agri_clean
Вот вывод:
Category Synsets
0 agricultural Synset('agricultural.a.01')
1 domestic Synset('domestic.n.01')
2 animal Synset('animal.n.01')
3 services Synset('services.n.01')
5 food Synset('food.n.01')
Мой желаемыйВывод будет:
Category Synsets
0 agricultural agricultural.a.01
1 domestic domestic.n.01
2 animal animal.n.01
3 services services.n.01
5 food food.n.01
Я буду использовать аналогичную структуру для построения матрицы лемм, определений и гипернимов для довольно длинного списка терминов в нескольких различных категориях, так что масштабируемое решение будетидеально.
Заранее спасибо за ваше время.