Как преобразовать столбец фрейма данных в строку для выполнения ner_chunks - PullRequest
0 голосов
/ 21 июня 2019

Как преобразовать столбец данных в строку.

Аннотация колонка состоит из данных описания заголовка

Я хочу, чтобы реферат столбца данных преобразовывался в строку, чтобы я мог предоставить в качестве входных данных для нерчунков

обратите внимание, что мой заголовок и абстрактный столбец информационного кадра имеют только тип объекта.

df['Abstract'] = df['Abstract'].astype(str)
df['Abstract'].head(5)




i = nltk.ne_chunk_sents(nltk.pos_tag_sents(word_tokenize(df['Abstract'])) , binary=True)
[a for a in i if len(a) == 1]

Ошибка:

TypeError: ожидаемая строка или байтовоподобный объект

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

вы передаете неправильный ввод в методе word_tokenize, вам нужно передать строку, и вы передаете ряд панд

# example
import pandas as pd
df = pd.DataFrame(['how are you', 'i am fine', 'what about others'], columns= ['msg']))

теперь, когда я передаю df ['msg'] в word_tokenize, т.е. word_tokenize (df ['msg ']) он выдаст ту же ошибку, что и вы, вместо этого вы должны передать строку

print([word_tokenize(x) for x in df['msg']])
#o/p
[['how', 'are', 'you'], ['i', 'am', 'fine'], ['what', 'about', 'others']]

надеюсь, это поможет вам

0 голосов
/ 21 июня 2019

Чтобы получить столбцы данных, вы можете попробовать

df.columns

Но вы ищете строку, которая будет содержать все имена столбцов, и df.column возвращает объект dtype. Таким образом, вы сначала конвертируете abouve в список и просто объединяете их, чтобы получить строку. Вот, пожалуйста:

yourResult = ' '.join(list(dataset.columns))

Надеюсь, это помогло.

...