如何将数据框列转换为字符串。
摘要列由标题描述数据组成
我希望将dataframe列摘要转换为字符串,以便我可以作为nerchunks的输入
请注意,我的标题和数据框的抽象列仅是对象类型。
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:预期的字符串或类似字节的对象
答案 0 :(得分:0)
要获取数据框的列,您可以尝试
df.columns
但是您正在寻找一个包含所有列名的字符串,并且df.column返回dtype对象。因此,您首先将abouve转换为list,然后简单地将它们连接成一个字符串。在这里,您去了:
yourResult = ' '.join(list(dataset.columns))
希望有帮助。
答案 1 :(得分:0)
您在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']]
希望这对您有帮助