如何迭代pandas列以获取POS标签

时间:2018-04-08 13:33:52

标签: python pandas pos-tagger

我有一个带德语评论的Panda Dataframe。我想得到POS标签,我找到了支持德语的模式lib。

现在,我想迭代Review列,获取所有POS但我得到以下错误(使用此代码):

如何迭代pandas列以获取POS标记

代码:

r['POSTags'] = parse(r['German_Reviews'].apply(split))

错误消息:

TypeError: expected string or buffer

我想有以下输出:

[(Das, DT), (Essen, NN), (war, VB), (lecker,..

有谁知道如何用模式库解决这个问题?

我的DF系列看起来像这样:

Rating | German_Reviews           | Device ...
----------------------------------------------
5.0    | Das Essen war lecker     | Mobile ...
1.0    | Die Pizza war grauenhaft | Desktop ...
4.0    | Das Restaurant war ok    | Mobile ...

1 个答案:

答案 0 :(得分:0)

也许这样的事情适合你的情况:

import pandas as pd

'''
Rating | German_Reviews           | Device
5.0    | Das Essen war lecker     | Mobile
1.0    | Die Pizza war grauenhaft | Desktop
4.0    | Das Restaurant war ok    | Mobile
'''

df = pd.read_clipboard(sep = '|')

df.columns = df.columns.str.strip()

com = ['DT', 'NN', 'VB', '...']

df.German_Reviews.str.split().apply(lambda x : list(zip(x, com)))

final